代码随想录算法训练营第三十五天|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 小时前
【每天学习一点算法 2026/04/02】最长递增子序列
学习·算法
IronMurphy12 小时前
【算法三十五】22. 括号生成
算法
liuyao_xianhui12 小时前
优选算法_岛屿的最大面积_floodfill算法_C++
java·开发语言·数据结构·c++·算法·leetcode·链表
赵域Phoenix12 小时前
Origin导入xlsx数据解锁编辑
算法
寻寻觅觅☆12 小时前
东华OJ-基础题-33-数字之和(C++)
数据结构·c++·算法
算AI13 小时前
重绘多孔世界的蓝图:GAN助力多孔材料的数字重构
人工智能·深度学习·算法·机器学习·生成对抗网络·ai
ZPC821013 小时前
手柄替代键盘
人工智能·算法·性能优化·机器人
xvhao201313 小时前
P4084 [USACO17DEC] Barn Painting G 题解
数据结构·c++·算法·深度优先·动态规划
We་ct13 小时前
LeetCode 190. 颠倒二进制位:两种解法详解
前端·算法·leetcode·typescript
wangchunting13 小时前
算法-二分查找
java·数据结构·算法