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

相关推荐
embrace997 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
代码不停7 小时前
Java单链表和哈希表题目练习
java·开发语言·散列表
Ayanami_Reii7 小时前
基础数学算法-开关问题
数学·算法·高斯消元
稚辉君.MCA_P8_Java7 小时前
通义 Go 语言实现的插入排序(Insertion Sort)
数据结构·后端·算法·架构·golang
稚辉君.MCA_P8_Java8 小时前
Gemini永久会员 Go 实现动态规划
数据结构·后端·算法·golang·动态规划
快手技术8 小时前
快手 & 南大发布代码智能“指南针”,重新定义 AI 编程能力评估体系
算法
Murphy_lx9 小时前
C++ std_stringstream
开发语言·c++·算法
CoovallyAIHub9 小时前
超越YOLOv8/v11!自研RKM-YOLO为输电线路巡检精度、速度双提升
深度学习·算法·计算机视觉
哭泣方源炼蛊9 小时前
HAUE 新生周赛(七)题解
数据结构·c++·算法
q***649710 小时前
SpringMVC 请求参数接收
前端·javascript·算法