今日练习:求给定数列的第一个缺失的正整数。
练习题目
我的思路:
先找出给定数列的最大正整数,再从1开始确认不在给定数列的第一个正整数。
代码运行效果
python完整代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#/sur/bin/nve python
# coding: utf-8
#The deficiency integer(缺失的正整数)
def deficiency_integer(nums):
'''找出第一个缺失的正整数'''
max = 1 #初始化给定数列中最大的正整数为1
for i in nums: #找出数列中最大的正整数
if i>max: max = i for i in range(1, max): #从最小的正整数开始查找,>找到不在给定数列的第一个正整数,退出并返回找到的正整数 if i not in nums: return i #main nums = (input(f'\n\n\n 输入正整数列表(数字间用半角“,”分隔)\n$>>').strip()).split(',') #把收到的输入字符串>以','拆分成列表
nums = [int(i) for i in nums[:]] #转换字符为整数 defint = deficiency_integer print(f'\n\n\n数列:{nums}\n{"﹊"*21}\n 缺失的第一个正整数数:{defint(nums)}\n{"﹊"*21}')
我的博文推荐:
- 尼姆游戏(聪明版/傻瓜式•人机对战)(当前阅读3205)(代码优化版)
- 练习:字符串统计(坑:f‘string‘报错)(当前阅读1075)
- 练习:求列表(整数列表)平衡点(当前阅读1236)
推荐条件
点阅破千
参考文章:
上一篇: 桥牌发牌器(大坑:dict.fromkeys())
下一篇:
精品文章:
来源:老齐教室