接下来是短阵列最短的过程

时间:2015-05-03 23:55:14

标签: java arrays comparator short spn

My Array有

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);
                }
            });

我想要做的是订购数组的行,使其看起来像这样,取决于BA行的总和。

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

Like this picture

这是我试过的代码

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]);
                 }

                }

            }

0 个答案:

没有答案