求最小值利用分治算法,求一个非空整数列表中的最小值。补全以下代码。算法说明:将列表不断二分,直到子列表长度小于等于2,直接比较得出最小值,然后合并结果(返回两个子列表最小值中的较小者)。def find_min(nums):n = len(nums)# 基线条件:问题规模足够小,直接求解if n == 1:return ①elif n == 2:return ②# 分解:将大问题分成两个子问题mid = n // 2left_part = nums[:mid]right_part = nums[mid:]# 解决:递归求解子问题left_min = find_min(left_part)right_min = find_min(right_part)# 合并:合并子问题的解return ③# 测试test_list = [34, 12, 5, 78, 3, 56, 91, 23]print('列表中的最小值是:', find_min(test_list))
正确答案:补全答案(Python分治最小值):①nums[0] ②min(nums[0],nums[1]) ③min(left_min,right_min)。核心:分治求最小。
试卷来源:202606 青少年软件编程等级考试Python四级真题