淘宝客网站哪个好,软件外包公司如何接单,列举常见的网络营销工具,要运行 wordpress php无法安装分享8月23日两道编程题#xff1a;
1 开幕式排列 题目描述 导演在组织进行大运会开幕式的排练#xff0c;其中一个环节是需要参演人员围成一个环形。 演出人员站成了一圈#xff0c;出于美观度的考虑#xff0c;导演不希望某一个演员身边的其他人比他低太多或者高太多。 现…分享8月23日两道编程题
1 开幕式排列 题目描述 导演在组织进行大运会开幕式的排练其中一个环节是需要参演人员围成一个环形。 演出人员站成了一圈出于美观度的考虑导演不希望某一个演员身边的其他人比他低太多或者高太多。 现在给出n个参演人员的身高问在他们站成一圈时相邻演员的身高差的最大值至少是多少?请你帮忙计算。 输入描述 输入包括两行第一行有1个正整数代表人数n。 第二行有n个空格隔开的正整数h;表示第i个演员的身高。 输出描述 输出包括一个正整数表示答案。 样例1 输入 5 2 1 1 3 2 输出 1 样例2 输入 2 10 20 输出 10 代码如下
def minDifference(n, nums):nums.sort()res nums[n - 1] - nums[n - 2]for i in range(n - 2, 0, -1):if i 1:res max(res, abs(nums[i] - nums[i - 1]))else:res max(res, abs(nums[i] - nums[i - 2]))return resif __name__ __main__:n int(input())nums list(map(int, input().split()))print(minDifference(n, nums))2 最少数字 题目描述 小明用计算机随机生成了N个正整数他希望从这N个数中选取若干个数使得它们的和等于M。这些随机生成的数字可能会相同但是每个数字最多只允许使用一次当然这样的选取方案可能不存在也可能有多个。 现在希望你编写一个程序能够找出数字个数最少的选取方案输出对应的最少数字的个数如果无 解输出“No solution” 。 输入描述 单组输入每组输入2行。 第1行包含两个正整数N和M分别表示初始输入的正整数个数和目标数字和(N1e3,M1e5)。 第2行为N个正整数两两之间用空格隔开(每一个正整数均小于等于1e5)。 输出描述 输出数字个数最少的选取方案中所包含的最少数字个数如果无解输出“No solution”。 样例1 输入 5 5 1 3 2 1 1 输出 2 代码如下
def find_min_nums_for_sum(nums, target):dp [float(inf)] * (target 1)dp[0] 0for num in nums:for j in range(target, num - 1, -1):if dp[j - num] ! float(inf):dp[j] min(dp[j], dp[j - num] 1)return dp[target] if dp[target] ! float(inf) else No solutionif __name__ __main__:N, M map(int, input().split())nums list(map(int, input().split()))print(find_min_nums_for_sum(nums, M))