# 观摩了一下 大佬代码的优化
# eval 函数自动将输入转为int
n = eval(input())
s = list(map(int, input().split()))
# 注意深浅拷贝问题
dit = s[:]
print(dit)
for e in s:
while e != 1:
if e % 2 == 0:
e = e // 2
else:
e = (3 * e + 1) // 2
if e in dit: # 如果在e列表中出现过,则说明可以被覆盖,移出去
dit.remove(e)
# 对列表进行逆序排序
dit.sort(reverse=True)
# 返回通过指定字符连接序列中元素后生成的新字符串
print(" ".join(str(i) for i in dit))
1005CallatzPlus
最新推荐文章于 2024-10-07 15:18:05 发布
本文通过示例展示了如何观摩并理解高级程序员的代码优化技巧,重点在于eval函数的使用,列表的深浅拷贝问题,以及如何在列表中查找和删除元素。此外,还涉及了列表的排序和字符串连接操作,对于提升代码效率具有指导意义。
摘要由CSDN通过智能技术生成