编程思想;
还未经过实践,但是觉得这个想法应该还是有参考价值的。就先写上了
一共分3个数组,标号为a、b、c,分别代表0、1、2出现在字符串中的位置,都是从小到大排列
2012是由1个0,1个1,2个2组成
而1个0,1个1,2个2的排列方式有12种:
2012——移动0次
2102——移动1次
0212——移动1次
2021——移动1次
1202——移动2次
2120——移动2次
0122——移动2次
0221——移动2次
2201——移动2次
1022——移动3次
1220——移动3次
2210——移动3次
因此从数组a、b、c中分别取出1、1、2个数,看他们的位置和上边哪个相符,再算出其本身间隔,即可得到移动多少次可以得到2012