- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 把一个字符串通过相邻字符移位变成另一个字符串 [No. 54]
问题:给你两个字符串,比如 ABCD 和 DBCA,通过交换相邻字符的位置,把第一个字符串,变成第二个字符串,打印所有的步骤。比如从ABCD到DBCA,步骤是:ABCD ---> BACD ---> BCAD ---> BCDA ---> BDCA ---> DBCA分析:如果两个字符串里所含的字符是一样的,只是位置不一样,我们是可以证明通过交换相邻的字符,能够从一个字符串变成另
2012-02-29 07:02:50 4462
原创 找出长度为n的所有数字,里面相邻数字不能一样 [No.53]
问题:给你一个数字长度,比如是 n ,那么打印出所有长度为 n 的数字,但是相邻数字不能一样。假如n = 3,那么121是可以的,112是不行的。分析:首先,该数字的第一个位置可以是1-9任意值,然后第二个位置可以是1-9任意值,但是不能和前面一个值相等。对于第三个位置,道理是一样的,所以,这里我们需要用到递归。对于每一个位置,我们需要遍历所有与前面位置不同的值。public
2012-02-29 06:44:31 1580
原创 把手机键盘输入转化成短消息 [No. 52]
手机键盘每个数字对应的字符如下:0 ---> "0";1 ---> "1";2 --- > "ABC2";3 ---> "DEF3";4 ---> "GHI4";5 ---> "JKL5";6 ---> "MNO6";7 ---> "PQRS7";8 ---> "TUV8";9 ---> "WXYZ9";* ---> 空格;# ---> 断开;
2012-02-29 06:32:08 1629
原创 返回所有n位整数,每个整数里的值是单调递增的
问题:给一个值 n , 返回所有 n 位整数,每个整数里的值是单调递增的。 比如,n = 3,那么长度为3的整数有 123, 124, 125, 134,。。。等。122, 222,这些是不符合条件的。分析:首先,第一个数从1开始,最多到 9 结束,第二个数从 "第一个数 + 1" 开始,最多到 9 结束,第三个数从 “第二个数 + 1”开始,最多到9结束,以此类推。每次到10以后,就
2012-02-24 05:46:25 1425
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人