应用:本质计算最大不相交子区间 (Leetcode435,Leetcode452)
需要按区间的end升序排序
Python中按指定第2列排序:
intervals=[[1,2],[2,3],[3,4],[1,3]] intervals=sorted(intervals,key=lambda x:x[1])
>> [[1, 2], [2, 3], [1, 3], [3, 4]]
应用:算法题石头游戏中二维dp数组需要斜着遍历
除对角线的,左上角开始斜着遍历
n=4 for l in range(2,n+1): for i in range(n-l+1): j=i+l-1 print(i,j)
>> 0 1, 1 2, 2 3
0 2, 1 3
0 3
这里n=4
需要斜着遍历的次数为3次
第1次:i=0,1,2 (i从0开始,一直到n-2);j=1,2,3 , j=i+1, l=2 --> j=i+l-1(这里要找j和i以及l的关系)
第2次:i=0,1 (i从0开始,一直到n-3);j=2,3 ,j=i+2, l=3 --> j=i+l-1
第3次:i=0 (i从0开始,一直到n-4);j=3 ,j=i+3, l=4 --> j=i+l-1
推测l从2开始,一直到n
每次i从0开始,一直到n-l
同时j=i+l-1