“天天”练习(2)
本帖最后由 某一个“天” 于 2025-1-13 16:06 编辑上期解析:
# True
# False
# False
filter 返回的是一个 惰性求值的迭代器,它本身在布尔上下文中会被认为是 True,即使没有元素。
要判断 filter 是否有符合条件的元素,可以将其转换为 list,或者使用 any()、all() 等函数。
手写排序算法: 实现一个 quick_sort() 快速排序算法。要求你手动实现该算法,而不是使用内建的 sorted() 或 sort() 函数。
**** Hidden Message ***** def quick_sort(arr):
if len(arr) <= 1:# 如果数组长度小于等于1,直接返回
return arr
else:
pivot = arr# 选择第一个元素作为基准
# 分别存储小于和大于基准的元素
less_than_pivot = if x <= pivot]
greater_than_pivot = if x > pivot]
# 递归对每部分进行排序并合并结果
return quick_sort(less_than_pivot) + + quick_sort(greater_than_pivot)
# 示例使用
arr =
sorted_arr = quick_sort(arr)
print(sorted_arr)# 输出:
上述代码实现了一个基本的快速排序算法。通过递归地将数组分割为小于、等于、大于基准元素的三个部分,然后对这三个部分分别排序,从而达到排序的目的。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 建议题目和答案写在一个帖子里,可以用隐藏的形式,不然不好找哦~ 小甲鱼的二师兄 发表于 2025-1-13 15:25
建议题目和答案写在一个帖子里,可以用隐藏的形式,不然不好找哦~
好的
页:
[1]