我的有道第二题(不是双倍超立方)

简介: 先说明一下,我遇到的第二题跟大家先前讨论的第二题题目不同,不过最近算法挺火,也就放上来,大家一起讨论讨论,而且我觉得有道这次比赛非常好,我看了下TopCode平台,大家平时也可以进这个平台练习一下算法,不过。

先说明一下,我遇到的第二题跟大家先前讨论的第二题题目不同,不过最近算法挺火,也就放上来,大家一起讨论讨论,而且我觉得有道这次比赛非常好,我看了下TopCode平台,大家平时也可以进这个平台练习一下算法,不过。。。。有道的翻译还真有待提高了

 

声明一下,我算法没有学过,只是想到了解决的方法,当时理解题目花了我很多时间,不知道是我太笨还是题目真有问题,呵呵。废话不说,上题目:

Problem Statement

      

一个二进制序列由下面的伪代码生成:

string A = "0"

While (A的长度小于等于n)

    创建一个和A一样长度的字符串B

    For i=0,1,...length(A)-1

        If (i 是完全平方数)

            B[i] = 1-A[i]

        Else

            B[i] = A[i]

    A = A + B (即将B拼接在A后面)

End While

Return A

请注意,在上面的伪代码中,A[i]B[i]分别表示字符串AB中下标为i的字符(下标编号从0开始)。对"完全平方数"的定义是,对于整数i,存在整数j,使得i= j *j,则称i为完全平方数。

下面具体说明序列生成的过程:如果n=7,则在每一轮迭代中,A的取值依次为:0, 01, 0110, 01101010,所以最终产生的二进制序列就是0,1,1,0,1,0,1,0

请返回上述序列中下标为n的数字(该序列的下标从0开始)

Definition

      

Class:

BinarySequence

Method:

getValue

Parameters:

int

Returns:

int

Method signature:

int getValue(int n)

(be sure your method is public)

      

 

Constraints

-

n 的取值大于等于0,小于等于2,000,000,000

Examples

0)

 

      

7

Returns: 0

原因参见题目描述。

1)

2

Returns: 1

2)      

8

Returns: 1

这一次,生成的序列为0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0.

3)      

11

Returns: 0

4)       

10

Returns: 1  

5)      

15

Returns: 0

 

头大,乱七八糟一堆东西,看了老半天,最后跟大家一样,来了句,原来如此啊,ok,理解了题目,上代码:

 

 1 public   class  BinarySequence
 2 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif     {
 3        public int getValue(int n)
 4img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        {
 5            int result = 0;
 6
 7            string A = "0";
 8
 9            while (A.Length <= n)
10img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            {
11                string[] B = new String[A.Length];
12                for (int j = 0; j < A.Length; j++)
13img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                {
14                    if (IsSquare(j))
15img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                    {
16                        B[j] = (1 - Convert.ToInt32(A[j].ToString())).ToString();
17                        result++;
18                    }

19                    else
20img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                    {
21                        B[j] = A[j].ToString();
22                    }

23                }

24                A = A + String.Join("", B);
25                //Console.WriteLine(A);
26            }

27
28            return int.Parse(A[n].ToString());
29        }

30
31        public bool IsSquare(int n)
32img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        {
33            bool result = false;
34
35            for (int i = 0; i <= n; i++)
36img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            {
37                if (i * i == n)
38img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                {
39                    return true;
40                }

41            }

42
43            return result;
44        }

45    }

 

单纯为了解决方法做的,效率谈不上,性能也不好,不过刚想到一个有趣的解法,准备下午的时候抽空写写,哈哈

 

写算法纯粹是为了玩,不是要证明自己如何,大家也不必说算法到底有用无用,有用无用都是根据自己的工作来看的,不过业余时间玩玩算法,真的很好。

 

PS:写的不好,希望大家不要乱拍钻

相关文章
|
2天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
6天前
|
人工智能 中间件 API
AutoGen for .NET - 架构学习指南
《AutoGen for .NET 架构学习指南》系统解析微软多智能体框架,涵盖新旧双架构、核心设计、技术栈与实战路径,助你从入门到精通,构建分布式AI协同系统。
305 142
|
2天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
404 0
|
3天前
|
传感器 人工智能 算法
数字孪生智慧水务系统,三维立体平台,沃思智能
智慧水务系统融合物联网、数字孪生与AI技术,实现供水全流程智能监测、预测性维护与动态优化。通过实时数据采集与三维建模,提升漏损控制、节能降耗与应急响应能力,推动水务管理从经验驱动迈向数据驱动,助力城市水资源精细化、可持续化管理。
267 142
|
2天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
本文介绍RAG(检索增强生成)技术,结合Spring AI与本地及云知识库实现学术分析AI应用,利用阿里云Qwen-Plus模型提升回答准确性与可信度。
204 90
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
|
17天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
2天前
|
机器学习/深度学习 人工智能 运维
智能照明稳压节能控制器,路灯节能稳压系统,沃思智能
智能照明调控柜集电力分配、远程控制与能耗管理于一体,支持自动调光、场景切换与云平台运维,广泛应用于市政、商业及工业领域,显著节能降耗,助力智慧城市建设。
184 137
kde
|
2天前
|
人工智能 关系型数据库 PostgreSQL
n8n Docker 部署手册
n8n是一款开源工作流自动化平台,支持低代码与可编程模式,集成400+服务节点,原生支持AI与API连接,可自托管部署,助力团队构建安全高效的自动化流程。
kde
263 3

热门文章

最新文章