解题思路
对数组array进行排序,使用双指针i和j,分别指向最小值和最大值,若array[i]+array[j]小于limit,则结果result加1,并且i + 1、j - 1;否则若array[j]小于limit,则result加1,并且j - 1,最后返回result
完整代码
nums = list(map(int, input().split())) nums.sort() limit = int(input()) def calc_nums(nums, limit): i = 0 j = len(nums) - 1 result = 0 while i <= j: if nums[i] + nums[j] <= limit: i += 1 j -= 1 result += 1 elif nums[j] <= limit: j -= 1 result += 1 else: return 0 return result print(calc_nums(nums, limit))