题目表述:从n个数中找到m个数,使得其和最接近一个值sum。 # -*- coding: utf-8 -*- # @Time : 2019/4/3 10:54 # @Author : RIO # @desc: TODO:DESC a = [8, 7, 3, 2, 6, 1, 5, 9, 4, 10] # 总共多少个数字 total = 10 # 选出多少个数字 _len = 4 # 最接近的和 sum = 18 def quick_sort(a, start, end): left = start right = end curr_axe = end axe_value = a[end] while left < right: # 右移直到遇到大于axe,交换 while left < curr_axe: if a[left] <= axe_value: left += 1 else: a[curr_axe] = a[left] curr_axe = left break # 左移直到遇到小于axe while right > curr_axe: if a[right] >= axe_value: right -= 1 else: a[curr_axe] = a[right] curr_axe = right break a[curr_axe] = axe_value # 如果左侧长度大于1,左侧快排 if start <
n个数中寻找m个数,使得和最接近值sum
最新推荐文章于 2021-07-17 12:05:32 发布