某一个“天” 发表于 2025-1-13 15:09:33

“天天”练习(2)

本帖最后由 某一个“天” 于 2025-1-13 16:06 编辑

上期解析:
# True
# False
# False
filter 返回的是一个 惰性求值的迭代器,它本身在布尔上下文中会被认为是 True,即使没有元素。
要判断 filter 是否有符合条件的元素,可以将其转换为 list,或者使用 any()、all() 等函数。

手写排序算法: 实现一个 quick_sort() 快速排序算法。要求你手动实现该算法,而不是使用内建的 sorted() 或 sort() 函数。
**** Hidden Message *****

FishC 发表于 2025-1-13 15:09:45

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:43

建议题目和答案写在一个帖子里,可以用隐藏的形式,不然不好找哦~

某一个“天” 发表于 2025-1-13 16:05:01

小甲鱼的二师兄 发表于 2025-1-13 15:25
建议题目和答案写在一个帖子里,可以用隐藏的形式,不然不好找哦~

好的
页: [1]
查看完整版本: “天天”练习(2)