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

相关推荐
6Hzlia19 小时前
【Hot 100 刷题计划】 LeetCode 41. 缺失的第一个正数 | C++ 原地哈希题解
c++·leetcode·哈希算法
开开心心就好20 小时前
支持自定义名单的实用随机抽签工具
windows·计算机视觉·计算机外设·excel·散列表·启发式算法·csdn开发云
小肝一下20 小时前
每日两道力扣,day6
数据结构·c++·算法·leetcode·双指针·hot100
ambition2024220 小时前
【算法详解】飞机降落问题:DFS剪枝解决调度问题
c语言·数据结构·c++·算法·深度优先·图搜索算法
徒 花20 小时前
Python知识学习08
java·python·算法
chushiyunen20 小时前
milvus笔记、常用表结构
笔记·算法·milvus
liliangcsdn20 小时前
ChromaDB距离计算公式示例
人工智能·算法·机器学习
人道领域20 小时前
【LeetCode刷题日记】242.字母异位词
算法·leetcode·职场和发展
卖男孩的小火柴.20 小时前
java内置方法总结及基础算法
java·算法
旖-旎20 小时前
链表(两两交换链表中的节点)(2)
数据结构·c++·学习·算法·链表·力控