我的数组有
P B A
---------
1 135 0
2 102 0
3 56 0
4 148 0
5 125 0
6 65 200
这个数组目前是这样排序的
3 56 0
2 102 0
5 125 0
1 135 0
4 148 0
6 65 200
使用此当前代码
Arrays.sort(x, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2) {
int ret = Integer.compare(o1[2], o2[2]);
// if the entries are equal at index 2, compare index 1
if (0 == ret) {
ret = Integer.compare(o1[1], o2[1]);
}
return (ret);
}
});
我想要做的是对数组的行进行排序,因此它看起来像这样,取决于B
与 的行比较的总和A
。
P B A
3 56 0
2 102 0
5 125 0
6 65 200 <<-- this row was the one that alter
1 135 0
4 148 0
因此,当我们将 56+102+125= 283 >200 相加时,我们会得到下一个最小的行6 65 200
。
我基本上是想实现下一个最短流程
这是我尝试过的代码
int whencount=0;
ArrayList <Integer> m = new ArrayList<Integer>();
for(int e=0; e<myArr.length; e++){
whencount=whencount+myArr[e][1];
for(int i=0; i<myArr.length; i++){
if(myArr[i][2]>=whencount && myArr[e][2]>=whencount){
System.out.println("Process executed "+myArr[e][0]);
m.add(myArr[e][0]);
}
}
}