算法 ’ 目录归档

寻找比任意正整数大的最小“不重复数”

给定任意一个正整数,求比这个数大且最小的“不重复数”,“不重复数”的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。(题目来源:July博客

思路:
1.得到比该正整数大一的数n;
2.将n转换为字符串,从最高位向下比较,如碰到连续的两位数相同,则将首位至低位所组成的数加1,后面各位置0,得到新的数值字符串(如18823,有连续的8,则新串为18900);
3.重复执行操作2,直到不是重复数为止。
阅读全文

return top