Java 代码片段之TreeMap定位查找和Arrays排序

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值