(java)Count and Say
2015-12-29 09:28
597 查看
The count-and-say sequence is the sequence of integers beginning as follows:
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
思路:写一个函数,可以产生下一个sequence的过程.设置一个count=1,while循环中判断连续相同字符的个数。当到不相同时,ans=ans+count+str.charAt(i-1);并将count重新设置为1,循环结束是别忘了ans=ans+count+str.charAt(i-1);然后在主函数里调用n-1次次函数就可以得出结果了.
代码如下(已通过leetcode)
public class Solution {
public String countAndSay(int n) {
if(n==1) return ""+1;
String temp=""+1;
for(int i=2;i<=n;i++) {
temp=getit(temp);
}
return temp;
}
public String getit(String str) {
String ans="";
int count=1;
int i=1;
while(i<str.length()) {
if(str.charAt(i)==str.charAt(i-1)) {
count++;
}
else {
ans=ans+count+str.charAt(i-1);
count=1;
}
i++;
}
ans=ans+count+str.charAt(i-1);
return ans;
}
}
1, 11, 21, 1211, 111221, ...
1is read off as
"one 1"or
11.
11is read off as
"two 1s"or
21.
21is read off as
"one 2, then
one 1"or
1211.
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
思路:写一个函数,可以产生下一个sequence的过程.设置一个count=1,while循环中判断连续相同字符的个数。当到不相同时,ans=ans+count+str.charAt(i-1);并将count重新设置为1,循环结束是别忘了ans=ans+count+str.charAt(i-1);然后在主函数里调用n-1次次函数就可以得出结果了.
代码如下(已通过leetcode)
public class Solution {
public String countAndSay(int n) {
if(n==1) return ""+1;
String temp=""+1;
for(int i=2;i<=n;i++) {
temp=getit(temp);
}
return temp;
}
public String getit(String str) {
String ans="";
int count=1;
int i=1;
while(i<str.length()) {
if(str.charAt(i)==str.charAt(i-1)) {
count++;
}
else {
ans=ans+count+str.charAt(i-1);
count=1;
}
i++;
}
ans=ans+count+str.charAt(i-1);
return ans;
}
}
相关文章推荐
- Spring整合mybatis
- (java)Remove Linked List Elements
- (java)Word Pattern
- RXJAVA操作符
- Eclipse构建Maven项目
- Eclipse、MyEclipse使用git插件(egit)
- spring中freemarker自定义标签详解
- 在Java的JDBC使用中设置事务回滚的保存点的方法
- [javase学习笔记]-7.9 成员变量与静态变量的区别
- java项目部署总结(一)JDK 、git、maven、ssh等安装与配置
- Java2.1
- 多线程1.50的特性
- spring-in-action-mvc-mybatis
- 关于使用cmd编译java文件出现乱码现象解决方法
- Java 多线程:多线程产生的原因
- hadoop 之eclipse插件定做
- eclipse--解决Android模拟器端口被占用问题的办法
- Java并发同步器--CountDownLatch
- java的流和编码
- 基于javaConfig的springDataJpa+dubbo+springMvc搭建(一)