Array是我们熟悉的Java类库中提供的基本数组操作类对象。但是在以前学习中没怎么使用它,今天在牛客网上面看到了一些代码片段,觉得十分精彩如下:
int [][]work=new int[N][2];
int di,pi;//工作难度 和报酬
int i,j;//循环用
for(i=0;i<N;i++){
while(true){
di=sc.nextInt();//工作难度
pi=sc.nextInt();//钱
if(di<=1000000000 && pi<=100000000)
break;
else{
System.out.println("第"+i+"项工作难度和回报超出范围...\n请重新输入:");
}
}
work[i][0]=di;
work[i][1]=pi;
}
Arrays.sort(work,new Comparator<int[]>(){//按照工作难度来排序
@Override
public int compare(int[] num1, int[] num2) {
return num1[0]-num2[0];
}
});
//dp来使相应的工作难度获利最大。
//并且把结果存入map中。
for(j=1;j<N;j++){
work[j][1]=Math.max(work[j-1][1], work[j][1]);
map.put(work[j-1][0], work[j-1][1]);
}
map.put(work[N-1][0], wo