刷题第二天

编程入门 行业动态 更新时间:2024-10-14 20:19:27

刷题<a href=https://www.elefans.com/category/jswz/34/1769066.html style=第二天"/>

刷题第二天

前言:这种题目放在两年前我可以很快的写出来,现在看着它一脸懵逼,连easy的都写不出来,我佛啦,六个月速度刷题!!!

知识点:贪心(把大问题分成小问题)


题目920(easy):给数个会议的占用时间,问你这几个会议有没有冲突的。题目链接

思路:按会议开始时间从小到大排序,判断后面会议开始的时间是不是比前一个会议结束的时间提前,如果是说明gg了。

/*** Definition of Interval:* public classs Interval {*     int start, end;*     Interval(int start, int end) {*         this.start = start;*         this.end = end;*     }* }*/public class Solution {/*** @param intervals: an array of meeting time intervals* @return: if a person could attend all meetings*/public boolean canAttendMeetings(List<Interval> intervals) {// Write your code here//sort the start,from low to highCollections.sort(intervals,new Comparator<Interval>(){public int compare(Interval i1, Interval i2){return i1.start - i2.start;}});int preEnd = 0;for(Interval curr:intervals){if(curr.start<preEnd)return false;preEnd = curr.end;}return true;}
}

难点:重写sort(是我太生疏了)


题目919(medium):给你数个会议起始、终止时间,问你需要几个会议室安排他们?(是920的进阶了)题目链接

思路:按会议开始时间从小到大排序,创建一个List<Integer>代表房间号,里面存储的是此间会议室结束使用的时间。

          针对每个会议,从第一间会议室开始遍历,判断此会议室满不满足,不满足则增加新的会议室。最后size()就是需要的房间数。

/*** Definition of Interval:* public classs Interval {*     int start, end;*     Interval(int start, int end) {*         this.start = start;*         this.end = end;*     }* }*/public class Solution {/*** @param intervals: an array of meeting time intervals* @return: the minimum number of conference rooms required*/public int minMeetingRooms(List<Interval> intervals) {// Write your code hereCollections.sort(intervals,new Comparator<Interval>(){public int compare(Interval i1, Interval i2){return i1.start - i2.start;//返回>0则进行排序,否则不变}});List<Integer> rooms = new ArrayList<Integer>();rooms.add(-1);boolean flag = false;for(Interval ival:intervals){for(int i=0;i<rooms.size();i++){if(ival.start>rooms.get(i)){rooms.set(i,ival.end);flag = true;break;}}if(!flag){rooms.add(ival.end);}flag = false;}return rooms.size();}
}

到此为止,明天继续冲贪心。btw,刷题好累。我的发际线可能又要上移动了。

更多推荐

刷题第二天

本文发布于:2024-03-13 12:46:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1734026.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第二天

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!