Python程序:查找列表中第k个缺失数字
假设我们有一个名为nums的有序唯一数字列表和一个整数k,我们需要找到给定列表的第一个元素中第k个缺失的数字。
例如,如果输入是nums = [5,6,8,10,11],k = 1,则输出将是9,因为9是第二个(索引1)缺失的数字。
为了解决这个问题,我们将遵循以下步骤:
对于i从1到nums的大小,执行:
diff := nums[i] - nums[i - 1] - 1
如果k >= diff,则:
k := k - diff
否则:
返回nums[i - 1] + k + 1
返回nums[-1] + k + 1
让我们看看下面的实现来更好地理解:
示例
class Solution: def solve(self, nums, k): for i in range(1, len(nums)): diff = nums[i] - nums[i - 1] - 1 if k >= diff: k -= diff else: return nums[i - 1] + k + 1 return nums[-1] + k + 1 ob = Solution() nums = [5,6,8,10,11] k = 1 print(ob.solve(nums, k))
输入
[5,6,8,10,11], 1
输出
9
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP