import sys
alist = []
for line in sys.stdin:
a = line.split()
alist.append(int(a[0]))
for i in sorted(list(set(alist[1:]))):
print(i)
分类目录归档:解决方案
空瓶子-算法
import sys
def drink_soda(n):
if n == 0:
exit(0)
total_drinks = 0
empty_bottles = n
while empty_bottles >= 3:
drinks = empty_bottles // 3
total_drinks += drinks
empty_bottles = empty_bottles % 3 + drinks
if empty_bottles == 2:
tot...列表推导式-初级-Python
当你处理列表并输出结果时,你可以使用列表推导式来实现一行表达式。列表推导式允许你在一行代码中对列表进行转换、筛选或处理。
举个例子,如果你想要将一个列表中的每个元素乘以 2 并输出结果,你可以这样做:
original_list = [1, 2, 3, 4, 5]
result = [x * 2 for x in original_list]
print(result) # 输出结果为 [2, 4, 6, 8, 10]
在这个例子中,[x * 2 for x in original_list] 就是一个列表推导式,它遍历原始列表中的每个元素,并将每个元素乘以 2,最后生成一个新的列...
运算符-初级-Python
在 Python 中,双斜杠 // 是整除运算符,它用来执行整数除法并返回一个整数结果。即,它会计算除法操作后的商,并向下取整到最接近的整数。举个例子:
result = 10 // 3
print(result) # 输出结果为 3
在这个例子中,10 // 3 的结果是 3,因为 3 乘以 3 是最接近但小于 10 的整数。
切片-初级-Python
在 Python 中,可以使用数组切片(slice)来获取列表、元组或字符串等序列类型的子集。数组切片的语法如下:
sequence[start:stop:step]
start:起始索引,表示切片开始的位置(包含该位置)。stop:结束索引,表示切片结束的位置(不包含该位置)。step:步长,表示从起始索引到结束索引的步长大小。
下面是一些示例:
- 对列表进行切片:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[2:6]) # 输出 [3, 4, 5, 6]
print(my_list[::2]) # 使用步长...jupyter-常见操作
Token authentication is enabled If no password has been configured, you need to open the notebook server with its login token in the URL, or paste it above. This requirement will be lifted if you enable a password.
The command:
jupyter notebook list
enumerate-枚举-python
零度解说-
搜索-算法
搜索算法是用于在给定数据集中查找目标元素或满足特定条件的元素的算法。常见的搜索算法有以下几种:
-
顺序搜索(Sequential Search):逐个遍历数据集,依次比较每个元素与目标元素是否匹配,时间复杂度为O(n)。
-
二分搜索(Binary Search):针对有序数据集,在每次比较中将数据集一分为二,通过比较中间元素与目标元素的大小关系确定下一步搜索的方向,时间复杂度为O(log n)。
-
插值搜索(Interpolation Search):针对有序数据集,根据目标元素与数据集的最大值和最小值之间的比例来估计目标元素的位置,从而优化搜索效率,时间复杂度取决于数据分布情况,...