type
status
date
slug
summary
tags
category
icon
password
创建时间
Dec 3, 2024 05:28 AM
给你一个下标从 0 开始的整数数组
nums
,数组长度为 n
。你可以执行无限次下述运算:
- 选择一个之前未选过的下标
i
,并选择一个 严格小于nums[i]
的质数p
,从nums[i]
中减去p
。
如果你能通过上述运算使得
nums
成为严格递增数组,则返回 true
;否则返回 false
。严格递增数组 中的每个元素都严格大于其前面的元素。
需要注意的点
- 严格递增,只需要检查相邻的元素,不需要使用二重循环;
upper_bound(primes, primes + cnt + 1, target);
可以在非 STL 容器中使用,需要明确起始和结束(注意结束位置)的地址信息。
- 题目是严格小于,需要注意问题的转换:在本题中,优先寻找大于两数之差的最小质数,这样才能满足严格递增。然后,判断质数是否小于该数。使其满足严格小于。
小于某个数的最大数求法
从后往前
从前往后
参考 灵茶山艾府 ,利用贪心的思想,希望前面的数字尽可能小。