LeedCode每日一题7/22~7/23

分析:二维数组的特殊排序:(注意:集合可以不连续)

intervals[l][h]:l降序,h升序Arrays.sort(intervals, (o1, o2) -> o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0]);

intervals[l][h]:l升序,h降序Arrays.sort(intervals, (o1, o2) -> o1[0] == o2[0] ? o2[1] - o1[1] : o1[0] - o2[0]);//本题使用

 intervals = [[4,9],[1, 2],[2, 4], [4, 5] ,[2, 3]]    进行二维数组排序的结果为 [[1, 2], [2, 4], [2, 3], [4, 9],[4,5]]。我们从右向左一次取出数字,当[4,5]满足时,[4,9]一定满足,而大区间满足,小区间不一定满足。

贪心算法:

此时仅有三种情况:(每次都取最小值a,b)

1.交集大小为2:此时不需要进行改动。有两个交集,条件为:intervals[i][1]>=b。

2.设置交集为1:仅仅需要添加一个值intervals[i][0],条件为:intervals[i][1]>=a

3.交集大小为0:条件为:intervals[i][1]

7/23

分析:本题的nums序列是唯一被确定的,所以必须严格按照nums序列的前后位置。因为位置被唯一确定,所以前后关系也被唯一的确定了,此时一定存在一个sequences[i]中的某一个前后位置完全贴合到nums序列中才能一一对应出来

版权声明:
作者:congcong
链接:https://www.techfm.club/p/48358.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>