在解决LeetCode “1288.删除重复区间”时,需要对N×2的input_list按照如下规则排序:
- 对于input_list的元素u:先按照u[0]升序排列;u[0]相同的,按照u[1]降序排列
解法:
利用list的sort方法,为其设定多个key即可:
intervals = [[1,4],[3,6],[2,8],[3,4]]
intervals.sort(key=lambda u:(u[0], -u[1]))
print(intervals)
[[1, 4], [2, 8], [3, 6], [3, 4]]
key=lambda u: (u[0], -u[1]) 的意义: - 依次按照u[0]和-u[1]排序,默认是升序,即按照u[0]的升序排序,当u[0]相同时,按照-u[1]的升序排序