我想找到最大的数。给定正整数数组中的元素的总和小于或等于给定的编号。 k.例如,我有一个数组
[3,4,7,2,6,5,1] and k=6;
答案是 3,因为 1、2、3 是得出总和 6 的最大元素。
对数组进行排序,计算元素的数量,然后开始按顺序对元素求和,直到它们的总和大于 k 或者遍历完每个元素,如果总和大于 k,则从计数中减 1
伪代码:
let k=6
sort the array
[1,2,3,4,5,6,7]
let sum=0
let count=7 //(7 elements in the array)
for (i=0;i<7;i++) {
sum+=array[i];
if (sum>k)
break;
}
if (sum>k)
i--;
i
是元素的最大数量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)