今天做了有道topcoder的题目,也是第一次在topcoder做题,弄了半天才知道怎么回事,比赛已经结束,可以说一下题目了,开始准备在linux下用c++写,结果开始做题发现题目在linux下有乱码,就又换到windows下做,由于windows下没有很好的编译器,就打开eclipse用java开编,题目很简单,我基本过了样例就提了。
250分的题
引用
给定一个正整数n. 你可以修改n的十进制表示中任意一位而得到另一个十进制表示的数,你修改后得到的新数需要严格小于n (这个新数可以有一些前导0).请返回按照上述要求修改后得到的数中最大的一个。
public class ChangeDigit {
public int change(int n) {
int a = n;
int p = 1;
while (a % 10 == 0) {
a /= 10;
p *= 10;
}
return n - p;
}
}
500分的题:
引用
一个二进制序列由下面的伪代码生成:
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]分别表示字符串A和B中下标为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开始)
public class BinarySequence {
public int getValue(int n) {
String sequence = getSequence(n);
return sequence.charAt(n) - '0';
}
private String getSequence(int n) {
StringBuffer a = new StringBuffer();
a.append('0');
while (a.length() <= n) {
StringBuffer b = new StringBuffer(a);
for (int i = 0; i < a.length(); i++) {
if (i - (int) Math.sqrt(i) * (int) Math.sqrt(i) < 10e-10) {
b.setCharAt(i, (char) (1 + '0' - a.charAt(i) + '0'));
}
}
a.append(b);
}
return a.toString();
}
}
这个题可以打表来提高效率,我只是简单的模拟做了一下。
分享到:
相关推荐
【TOPCODER算法PPT1】是一份关于2007年TopCoder竞赛算法讲座的机密文件,它揭示了这个全球知名的编程竞赛平台的核心特点和价值。TopCoder社区是其核心,拥有遍布全球的会员,包括众多活跃的参赛者,涵盖了学生和专业...
【标题】"Topcoder入门"所指的,是全球知名在线编程竞赛平台Topcoder的初学者指南。这个资源集合可能是为了帮助对算法竞赛和软件开发感兴趣的人,特别是那些想要提升编程技能,尤其是ACM(国际大学生程序设计竞赛)...
Topcoder软件比赛注册方法和平台使用 Topcoder算法大赛客户端安装流程 Topcoder算法大赛客户端登陆及使用 Topcoder算法大赛注册流程 Topcoder图形比赛注册方法和平台使用
【标题】:“topcoder客户端及相关插件” 在IT领域,topcoder是一个著名的在线编程竞赛平台,它为开发者提供了一个展示编程技能、参与竞争并提升能力的场所。客户端,特别是“topcoder arena”,是该平台的核心组成...
在IT领域,TopCoder是一个知名的在线编程竞赛平台,它为程序员提供了一个展示技术才华、提升编程技能以及与全球开发者竞技的舞台。注册并参与TopCoder的比赛,不仅能提高自己的编程能力,还能有机会接触到实际项目...
适合topcoder新手
TopCoder是一个专注于在线程序设计竞赛的平台,它为程序设计爱好者提供了一个展示自己编码能力的舞台,同时也作为一个猎头公司,为业界发掘和选拔优秀的编程人才。在这个平台上,参赛者可以参加不同类型的竞赛,其中...
【TopCoder中文指导】是一份综合性的资源集合,旨在帮助用户了解并参与TopCoder平台的各种竞赛活动。TopCoder是一个全球知名的在线编程竞赛平台,它提供了多种类型的比赛,包括SRM(Single Round Matches)算法竞赛...
TopCoder比赛登录使用的客户端,需要配置Java环境
【标题】"TopCoder竞赛资料"揭示了这个压缩包的核心内容是与TopCoder平台上的程序竞赛相关的资源。TopCoder是一个著名的在线编程竞赛平台,它聚集了大量的程序员和算法爱好者,通过竞技的方式提升技能,同时也是选拔...
"Topcoder SRM 499 第一题详解" Topcoder SRM 499 的第一题是一道简单的 Addition Game 题目,旨在考察程序员对问题的理解和算法设计能力。本文将详细讲解该题目的知识点和解题思路。 题目分析 该题目中,Fox ...
Topcoder的Java客户端,安装前确定已经安装了JRE
【标题】"TOPCODER比赛作品"所涉及的知识点主要围绕编程竞赛,特别是与TOPOCODER这个全球知名的在线编程竞技平台相关。TopCoder是一个聚集了世界各地程序员的社区,它组织了一系列的算法竞赛,旨在提升参赛者的编程...
用于topcoder的第3方编辑器插件。
TopCoper SmartWordToy problem 解决方法,C++源码。 Problem Statement The toy company "I Can't Believe It Works!...Form: http://community.topcoder.com/stat?c=problem_statement&pm=3935&rd=6532
【标题】"topcoder" 指的是一个全球知名的在线编程竞赛和众包平台,它为程序员提供了一个展示技能、互相学习以及参与实际项目开发的机会。这个平台以其独特的竞技编程比赛而闻名,涵盖算法、设计和开发等多个领域。 ...
TOPCODER算法ppt2 TOPCODER算法讲座ppt是一个关于TopCoder算法竞赛的讲座ppt,涵盖了TopCoder竞赛的概述、Component Based Methodology、组件目录、软件需求等内容。 在Component Based Methodology中,讲座强调了...
topcoder入门,对想做tc,但又不知道怎么搞的很有帮助,我首先也不知道搞。