452射爆气球
1、根据左边界排序
2、如果两个相邻两个区间没有重叠的部分,建树加1,具体有前一个区间的右边界和当前区间的左边界进行比较;否则就是有重叠,这时候更新当前区间的右边界,即取前一个区间和当前区间右边界最小值
435无重叠区间
注意区间排序,不要弄反,小的在前面
763 划分字母区间
1、记录每个字母出现的最远位置,用一个for循环就能实现,就是hash[s[i]-‘a’]=i
2、更新左右区间,右区间=max(right,hash[s[i]-‘a’]),当right==i时,计算该区间长度,更新left=right+1;
56 合并区间
这道题目很有意思
就是如果result是空,或者区间不重叠,就把当前区间放进去;如果重叠了,就更新back的右区间0
738 单调递增的数字
首先是把数字转成string,比较好比较
从后向前遍历,避免重复比较
用flag记住能变成9的位数
修改思想就是,如果前一位比后一位大,就将前一位-1,后一位变成9