挑战题目一:尽请指点

题目背景: 那一年,这一年,青春散场,到毕业季,我们奔波着忙着找工作,来到招聘会上,看到黑压压的一大片人群.. 题目描述:毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。 假设现在有n个招聘会,每个招聘会都有个起止时间,时间由从招聘会第一天0点开始的小时数表示,n <= 1000 。 返回:最多参加的招聘会的个数n。 举个例子: 现在有3场招聘会,他们的起始时间为: 9-10 10-20 8-15 返回:2 友情提醒: 题目结束前在“我的英雄会”里查看挑战结果 对于英雄会或本题有任何反馈或意见,欢迎加入英雄会编程挑战交流QQ群:216133772,验证信息为你的账号昵称。 

public static int forjob(int[] start,int[] end){
		int[][] job = new int[start.length][2];
		job[0][0] = start[0];
		job[0][1] = end[0];
		for(int i=1;i<job.length;i++){
			int s = start[i];
			int e = end[i];
			for(int m=i;m>0;m--){
				if(s<job[m-1][0]){
					job[m][0] = job[m-1][0];
					job[m][1] = job[m-1][1];
					job[m-1][0] = s;
					job[m-1][1] = e;
				}else{
					job[m][0] = s;
					job[m][1] = e;
					break;
				}
			}
		}
		TreeSet<Integer> ts = new TreeSet<Integer>();
		int flag = 1;
		int[] temp = new int[2];
		for(int j=0;j<job.length;j++){
			temp = job[j];
			for(int m=j+1;m<job.length;m++){
				if(temp[1]<=job[m][0]){
					flag++;
					temp = job[m];
				}				
			}
			ts.add(flag);
			flag = 1;
		}
		
		return ts.last();
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值