问答题 1.  给定任意一个正整数,求比这个数大且最小的“不重复数”,“不重复数”的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。
【正确答案】方法一:蛮力法
   最容易想到的方法就是对这个给定的数加1,然后判断这个数是不是“不重复数”,如果不是,那么继续加1,直到找到“不重复数”为止。显然这种方法的效率非常低下。
   方法二:从右到左的贪心法
   例如给定数字11099,首先对这个数字加1,变为11000,接着从右向左找出第一对重复的数字00,对这个数字加1,变为11001,继续从右向左找出下一对重复的数00,将其加1,同时把这一位往后的数字变为0101…串(当某个数字自增后,只有把后面的数字变成0101…,才是最小的不重复数字),这个数字变为11010,接着采用同样的方法,11010->12010就可以得到满足条件的数。
   需要特别注意的是当对第i个数进行加1操作后可能会导致第i个数与第i+1个数相等,因此,需要处理这种特殊情况,下图以99020为例介绍处理方法。
   
【答案解析】[考点] 如何找最小的不重复数