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

相关推荐
tryxr几秒前
HashTable、HashMap、ConcurrentHashMap 之间的区别
java·开发语言·hash
松涛和鸣2 分钟前
DAY32 Linux Thread Programming
linux·运维·数据库·算法·list
serendipity_hky2 分钟前
【go语言 | 第5篇】channel——多个goroutine之间通信
开发语言·后端·golang
无事好时节5 分钟前
Linux 线程
java·开发语言·rpc
LYFlied6 分钟前
【每日算法】LeetCode 234. 回文链表详解
算法·leetcode·链表
我家领养了个白胖胖10 分钟前
Prompt、格式化输出、持久化ChatMemory
java·后端·ai编程
源代码•宸19 分钟前
分布式缓存-GO(简历写法、常见面试题)
服务器·开发语言·经验分享·分布式·后端·缓存·golang
sszdlbw24 分钟前
后端springboot框架入门学习--第二篇
java·spring boot·学习
阿拉斯攀登25 分钟前
MyBatis 全面解析 & Spring Boot 集成实战
java·spring boot·mybatis·持久层框架