435. 无重叠区间
先对区间进行排序,优先去除交集区间。
763.划分字母区间
这题的思路就是找到每个区间中的字母最后出现的位置,关键是位置怎么找
cpp
int hash[27] = {0}; // i为字符,hash[i]为字符出现的最后位置
for (int i = 0; i < S.size(); i++) { // 统计每一个字符最后出现的位置
hash[S[i] - 'a'] = i;
}
这里的方法是十分巧妙的,由于i是从小到大依次循环,指定字母的值小的会被大的值给覆盖,最后仅用一次循环就实现了最后位置的寻找。