用于查找可以在 Python 中生成的最大连续值数的程序
假设我们有一个名为coins的数组,有n个元素,它代表我们拥有的硬币。第i个硬币的价值表示为coin[i]。如果我们可以选择我们的n个硬币中的一些,使得它们的价值总和为x,我们就可以创造一些价值x。我们必须找到从0开始并包括0的硬币可以获得的最大连续值数。
所以,如果输入像coins=[1,1,3,4],那么输出将是10,因为
0=[]
1=[1]
2=[1,1]
3=[3]
4=[4]
5=[4,1]
6=[4,1,1]
7=[4,3]
8=[4,3,1]
9=[4,3,1,1]
示例
让我们看看以下实现以获得更好的理解-
def solve(coins): coins.sort() ans = 1 for coin in coins: if coin > ans: break ans+=coin return ans coins = [1,1,3,4] print(solve(coins))
输入
[1,1,3,4]输出结果
10