目录

算法(五):贪心与构造

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 下一个排列
def nxt(A):
	n = len(A)
	i = n-2
	while i >= 0 and A[i] >= A[i+1]:
		i -= 1
	if i < 0:
		return []
	j = n-1
	while A[j] <= A[i]:
		j -= 1
	A[i], A[j] = A[j], A[i]
	A[i+1:] = A[i+1:][::-1]
	return A

最值

中位数

  • 0296 最佳的碰头地点

拆分

  • 0768 最多能完成排序的块 II

序列

  • 0321 拼接最大数
  • 0330 按要求补齐数组

偏序

  • 0342 摆动排序 II

连续

  • 0420 强密码检验器

间隔

  • 0358 K 距离间隔重排字符串
  • 0621 任务调度器

排序

  • 0527 单词缩写
  • 0632 最小区间
  • 0757 设置交集大小至少为2

反悔贪心

  • 0630 课程表 III