关于3.25阿里笔试 编程题第二题请教
3025
2022.03.26
发布于 未知归属地

输入 : 5 个数 : a,b,c,d,e 数据范围 [1,10^9], 每次操作取其中4个数减一
输出 : 最多的操作次数

我是想问一下我的思路哪里不对,我是想先排序然后选出四个最大的和一个最小的a,再从这四个最大的当中选出最小的b和次小的c,因此答案就是Min(c, a+b),可以理解成就是取前四大的数一直减一直到这四个数中最小的等于0,此时在比较四个数中倒数第二小的(也就是整体倒数第三小的)和5个数中最小的那个数谁更小。这么想为什么不对呢?我自测通过了但是一提交就百分之0。
因为我想的是这个答案一定是局限在五个数中最小的三个数里,并且应该就是min(c, a + b),这里c是倒数第三小,ab是最小的两个数,我不是很懂我这么想为什么不对呢,想不出个反例也。

评论 (11)