这个技术主要用在文件压缩吧,比如111112,有5个1和1个2,于是变为5112.
理解题意比较重要。递归实现。
public class Solution {
public String countAndSay(int n) {String rst="";
if(n==1)
{
rst+="1";
return rst;
}
String s=countAndSay(n-1);//"111221";//
int len=s.length();
char tmp;
int cnt;
for(int i=0;i<len;i++)
{
tmp=s.charAt(i);
cnt=1;
while(i+1<len && s.charAt(i+1)==tmp)
{
cnt++;
i++;
}
rst+=Integer.toString(cnt);
rst+=tmp;
}
return rst;
}
}
本文介绍了一种名为“计数并描述”的算法实现,该算法通过递归方式处理字符串,用于生成特定序列。例如将连续重复的字符计数并转换为新的字符串形式,如111112转换为5112。
507

被折叠的 条评论
为什么被折叠?



