私のアレイは
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
。
私は基本的にShortest Process Nextを実装しようとしています
これは私が試したコードです
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]);
}
}
}