代码随想录——无重叠区间(Leetcode435)

题目链接

贪心 + 排序

java 复制代码
class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        int res = 0;
        if(intervals.length == 1 || intervals.length == 0){
            return res;
        }
        // 按左边界排序
        Arrays.sort(intervals, new Comparator<int[]>() {
    		public int compare(int[] intervals1, int[] intervals2) {
        		long diff = (long)intervals1[0] - (long)intervals2[0];
        		if (diff == 0) return 0;
        		return diff > 0 ? 1 : -1;
    		}
		});
        // 记录区间分割点
        int end = intervals[0][1];
        for(int i = 1; i < intervals.length; i++){
            // 如果下一个点的左元素大于等于分割点,说明区间不重叠,改变区间分割点
            if(intervals[i][0] >= end){
                end = intervals[i][1];
            }else{
                // 如果下一个点的左元素小于分割点,说明区间重叠,比较区间分割点和下一个点的右元素,将区间分割点赋值为较小值
                end = Math.min(end,intervals[i][1]);
                // 移除一个区间
                res++;
            }
        }
        return res;
    }
}

最近几道题感觉需要好好掌握一下java数组排序的函数写法

相关推荐
2301_780789668 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
m0_639906948 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
学长毕设9 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
ZhengEnCi9 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
步行cgn10 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川10 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵10 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
秋天的怀念_David10 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas10010 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
Pniubi10 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展