代码随想录算法训练营第三十五天|435. 无重叠区间、763.划分字母区间

435. 无重叠区间

先对区间进行排序,优先去除交集区间。

763.划分字母区间

这题的思路就是找到每个区间中的字母最后出现的位置,关键是位置怎么找

cpp 复制代码
int hash[27] = {0}; // i为字符,hash[i]为字符出现的最后位置
        for (int i = 0; i < S.size(); i++) { // 统计每一个字符最后出现的位置
            hash[S[i] - 'a'] = i;
        }

这里的方法是十分巧妙的,由于i是从小到大依次循环,指定字母的值小的会被大的值给覆盖,最后仅用一次循环就实现了最后位置的寻找。

相关推荐
菜鸡儿齐5 小时前
leetcode-最小栈
java·算法·leetcode
雪人不是菜鸡5 小时前
简单工厂模式
开发语言·算法·c#
岛雨QA5 小时前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc5 小时前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
铸人5 小时前
大数分解的Shor算法-C#
开发语言·算法·c#
问好眼5 小时前
《算法竞赛进阶指南》0x01 位运算-3.64位整数乘法
c++·算法·位运算·信息学奥赛
yyjtx5 小时前
DHU上机打卡D31
开发语言·c++·算法
GEO行业研究员5 小时前
《认知锚定与路径锁死:基于爱搜光年模型的AI决策链条风险放大机制监测》
人工智能·算法·ai搜索优化·geo优化·医疗geo·医疗geo优化
wefg15 小时前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA5 小时前
图「Java数据结构与算法学习笔记12」
数据结构·算法