代码随想录算法训练营第三十五天|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是从小到大依次循环,指定字母的值小的会被大的值给覆盖,最后仅用一次循环就实现了最后位置的寻找。

相关推荐
_深海凉_12 小时前
LeetCode热题100-三数之和
算法·leetcode·职场和发展
y = xⁿ12 小时前
【LeetCode】双指针合集
算法·leetcode
2601_9495394512 小时前
家用新能源 SUV 核心技术科普:后排娱乐、空间工程与混动可靠性解析
大数据·网络·人工智能·算法·机器学习
凌波粒12 小时前
LeetCode--18.四数之和(双指针法)
数据结构·算法·leetcode
笨笨饿12 小时前
33_顺序表(待完善)
linux·服务器·c语言·嵌入式硬件·算法·学习方法
汀、人工智能12 小时前
[特殊字符] 第26课:环形链表
数据结构·算法·链表·数据库架构··环形链表
smj2302_7968265212 小时前
解决leetcode第3883题统计满足数位和数组的非递减数组数目
python·算法·leetcode
小比特_蓝光12 小时前
算法篇二----二分查找
java·数据结构·算法
田梓燊13 小时前
leetcode 56
java·算法·leetcode
仍然.13 小时前
多线程---阻塞队列收尾和线程池
java·开发语言·算法