Python 数组中查找第 k 个缺失正数的程序
假设我们有一个名为 nums 的数组,其中包含严格递增的正排序值,还有一个整数 k。我们必须找到此数组中缺失的第 k 个正整数。
因此,如果输入类似于 nums = [1,2,4,8,12],k = 6,则输出将为 10,因为缺失的数字为 [3,5,6,7,9,10,11],这里的第 6 项是 10。
为了解决这个问题,我们将遵循以下步骤:
nums := 从 nums 中存在的元素创建一个新的集合
count := 0
num := 1
当 count < k 时,执行以下操作:
如果 num 不在 nums 中,则
count := count + 1
如果 count 等于 k,则
返回 num
num := num + 1
返回 num
示例 (Python)
让我们看看下面的实现,以便更好地理解:
def solve(nums, k): nums = set(nums) count = 0 num = 1 while count < k: if num not in nums: count += 1 if count == k: return num num += 1 return num nums = [1,2,4,8,12] k = 6 print(solve(nums, k))
输入
[1,2,4,8,12], 6
输出
10
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP