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

相关推荐
偷吃的耗子2 分钟前
【CNN算法理解】:基于训练好的MNIST CNN模型进行预测
人工智能·算法·cnn
葵花楹27 分钟前
【算法题】【动态规划2】【背包动态规划】
算法·动态规划
数研小生29 分钟前
1688商品列表API:高效触达批发电商海量商品数据的技术方案
大数据·python·算法·信息可视化·json
2301_7657031437 分钟前
C++中的代理模式变体
开发语言·c++·算法
酉鬼女又兒1 小时前
27. 移除元素
数据结构·算法·排序算法
TracyCoder1231 小时前
LeetCode Hot100(28/100)——104. 二叉树的最大深度
算法·leetcode
执着2591 小时前
力扣hot100 - 101、对称二叉树
数据结构·算法·leetcode
多恩Stone1 小时前
【3D-AICG 系列-1】Trellis v1 和 Trellis v2 的区别和改进
人工智能·pytorch·python·算法·3d·aigc
mit6.8241 小时前
模运算|z函数 字符串匹配
算法
阿豪只会阿巴1 小时前
【吃饭香系列】二周目|代码随想录算法训练营第七天|454.四数相加II |383. 赎金信 |15. 三数之和 |18. 四数之和
算法