4-12贝壳后端笔试为啥弹珠跑不出来...测试案列和自己假设的都能跑通😣
还有大家AC了几道呢?🤩🤩
还有大家AC了几道呢?🤩🤩
全部评论
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] nums = new int[n];
for (int i = 0; i < nums.length; i++) {
nums[i] = in.nextInt();
}
System.out.println(getPosibility(nums));
}
static int getPosibility(int[] nums) {
// 排序
Arrays.sort(nums);
// 累积最高可能值
int[] cache = new int[nums.length];
cache[0] = nums[0];
for (int i = 1; i < nums.length; i++) {
cache[i] = nums[i] + cache[i - 1];
}
// 计算累计最高可能值是否大于后一个值
for (int i = nums.length - 2; i >= 0; i--) {
if(nums[i] == nums[i + 1]) {
continue;
}
// 累积最高值也无法大于后一个值就退出
if(cache[i] < nums[i + 1]) {
return nums.length - i - 1;
}
}
return nums.length;
}
相关推荐
11-26 18:05
中国人民大学 Unity3D客户端 点赞 评论 收藏
分享