挑战题目一:尽请指点

来源:互联网 发布:模特卡尺寸数据 编辑:程序博客网 时间:2024/05/18 02:42

题目背景: 那一年,这一年,青春散场,到毕业季,我们奔波着忙着找工作,来到招聘会上,看到黑压压的一大片人群.. 题目描述:毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。 假设现在有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();}


原创粉丝点击