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))); 推荐用于可变列表

相关推荐
BUG收容所所长12 分钟前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
程序员岳焱12 分钟前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
wangjinjin18013 分钟前
Python Excel 文件处理:openpyxl 与 pandas 库完全指南
开发语言·python
愚润求学13 分钟前
【C++】类型转换
开发语言·c++
XRZaaa18 分钟前
常见排序算法详解与C语言实现
c语言·算法·排序算法
都叫我大帅哥20 分钟前
AQS(AbstractQueuedSynchronizer)深度解剖:从“奶茶店排队”到源码级设计哲学
java
@我漫长的孤独流浪21 分钟前
数据结构测试模拟题(4)
数据结构·c++·算法
智驱力人工智能24 分钟前
智慧零售管理中的客流统计与属性分析
人工智能·算法·边缘计算·零售·智慧零售·聚众识别·人员计数
斯奕sky_small-BAD25 分钟前
C++ if语句完全指南:从基础到工程实践
java·开发语言·php
云之渺27 分钟前
125java
java