推荐《牛客网 | 大厂真题 | 笔试题库 | 面试经验 | 实习经验内推》
链接地址,废话少说速度上号刷题卷起来👉👉:点击链接进行免费刷题学习
1. 序列找数
描述:
从非负整数序列 0, 1, 2, …, n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数。
输入描述:输入为n+1个非负整数,用空格分开。
其中:首个数字为非负整数序列的最大值n,后面n个数字为子序列中包含的数字。
输出描述:输出为1个数字,即未出现在子序列中的那个数。
实现代码:
a = list(map(int, input().split()))
for i in range(len(a) + 1):
if i not in set(a):
print(i)
break
运行结果:
2. 扭蛋机
描述:
22娘和33娘接到了小电视君的扭蛋任务:
一共有两台扭蛋机,编号分别为扭蛋机2号和扭蛋机3号,22娘使用扭蛋机2号,33娘使用扭蛋机3号。
扭蛋机都不需要投币,但有一项特殊能力:
扭蛋机2号:如果塞x(x范围为>=0整数)个扭蛋进去,然后就可以扭到2x+1个
扭蛋机3号:如果塞x(x范围为>=0整数)个扭蛋进去,然后就可以扭到2x+2个
22娘和33娘手中没有扭蛋,需要你帮她们设计一个方案,两人“轮流扭”(谁先开始不限,扭到的蛋可以交给对方使用),用“最少”的次数,使她们能够最后恰好扭到N个交给小电视君。
输入描述:输入一个正整数,表示小电视君需要的N个扭蛋。
输出描述:输出一个字符串,每个字符表示扭蛋机,字符只能包含"2"和"3"。
实现代码:
def helper(num):
res = ""
while num>0:
if ((num-2)/2)%1==0:
res = '3'+res
num = (num-2)/2
if ((num-1)/2)%1==0:
res = '2'+res
num = (num-1)/2
return res
if __name__ == "__main__":
obj = int(input())
ans = helper(obj)
print(ans)
运行结果:
3. 如何让刷题更加高效呢?
最近很多学了基础的小伙伴问我该怎么提升编程水平?学了基础该上哪刷题?明明学了很多,做项目却不知道怎么上手,其实这就是练得太少,只注重了学,却忽视了刷题,只有不断练习才能提高和巩固编程思维和能力!
链接地址,废话少说速度上号刷题卷起来👉👉:点击链接进行免费刷题学习
链接地址:牛客网 | Python题库,废话少说速度上号!!!
4. 书籍推荐
【书籍内容简介】
- 本书以理论结合编程开发为原则,使用Python作为开发语言,讲解化算法的原理和应用,详细介绍了Python基础、Gurobi 优化器、线性规划、整数规划、多目标优化、动态规划、图与网络分析、智能优化算法。对于算法部分的每一种算法都包含原理和编程实践,使读者对化算法的认识更加深入。
- 本书内容丰富,实例典型,实用性强,适合各个层次从事*化算法研究和应用的人员,尤其适合有一定算法基础而没有编程基础的人员阅读。
也有不想靠抽,想自己买的同学可以参考下面的链接:
京东自营购买链接:《Python最优化算法实战 》-京东图书
当当自营购买链接:《Python最优化算法实战 》-当当图书