日期:2014-05-20  浏览次数:20545 次

看了别人的解答有点疑惑,去找原帖没找到,就在这问了~~
将一个数组从小到大排序然后进行全排列
      如果{1,2,3,4}
  System.out.print(a[i]*1000+a[j]*100+a[k]*10+a[6-i-j-k])
这样能得出答案
问题是,如果数组是{2,6,9,7}随便用这个试了下,就报错了
我想知道,在a[6-i-j-k],这个6位置的地方的数字是多少,或者说,这类行的,应该是按照什么公式计算的.

------解决方案--------------------
我虽然没看过原题,但是我分析你说的这个“6”的意思是把数组中左右的角标之和。
如果是长度是4的数组。6=0+1+2+3
如果长度是5的数组。0+1+2+3+4=10。
他的目的是想根据其他三个数组的index推断剩下的一个数字的index
------解决方案--------------------
2 6 7 9 哇
他是假设已经排好序了
------解决方案--------------------
菜鸟不懂,呵呵
------解决方案--------------------
把程序全沾出来,让俺也学学.