Java算法模板

合并区间

统计不同区间的元素个数

java 复制代码
         //合并区间
        List<Integer> result = new ArrayList<>();
        int start = intervals.get(0)[0];
        int end   = intervals.get(0)[1];

        for(int i=1;i<intervals.size();i++){
            int[] curr = intervals.get(i);
            if(curr[0]>end){
                //不能合并,存放结果
                result.add(end-start+1);
                start = curr[0];
                end = curr[1];

            }else{
                end = Math.max(end,curr[1]);
            }
        }
        // 添加最后一个字段
        result.add(end-start+1);

统计每个字母出现的最后下表

java 复制代码
int[] last = new int[26]; // 记录每个字母最后出现的下标
for (int i = 0; i < n; i++) {
    last[s[i] - 'a'] = i;
}

贪心算法

贪心算法 是一种 在每一步都选择当前最优解(局部最优解) ,从而 期望最终能得到全局最优解 的算法策略。

列表 List

nums.add(List.of(1)); 可以用,但元素不可修改

nums.add(new ArrayList<>(List.of(1))); 推荐用于可变列表

相关推荐
缺点内向1 小时前
Java:创建、读取或更新 Excel 文档
java·excel
我搞slam2 小时前
快乐数--leetcode
算法·leetcode·哈希算法
带刺的坐椅2 小时前
Solon v3.4.7, v3.5.6, v3.6.1 发布(国产优秀应用开发框架)
java·spring·solon
WWZZ20252 小时前
快速上手大模型:机器学习3(多元线性回归及梯度、向量化、正规方程)
人工智能·算法·机器学习·机器人·slam·具身感知
四谎真好看3 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
应用市场3 小时前
构建自定义命令行工具 - 打造专属指令体
开发语言·windows·python
桦说编程3 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
东方佑3 小时前
从字符串中提取重复子串的Python算法解析
windows·python·算法
java_t_t3 小时前
ZIP工具类
java·zip
西阳未落3 小时前
LeetCode——二分(进阶)
算法·leetcode·职场和发展