输入格式: 共一行,三个整数 a,b,c,表示三堆糖果的数量。

输出格式: 共一行,一个整数,表示最多能拿走的糖果数量。

输入样例: 3 4 5

输出样例: 12

算法1

(贪心) $O(n)$

我们可以先将糖果数量从小到大排个序,然后每次从数量最小的两堆中各拿走一个糖果,直到只剩下一堆或两堆糖果,最后返回剩下的糖果数。

时间复杂度分析:排序的时间复杂度是 $O(nlogn)$,每次拿走两个糖果的时间复杂度是 $O(1)$,因此总时间复杂度为 $O(nlogn)$。

C++ 代码

有三堆糖果 你想要拿去更多的糖果 但是你必须遵循拿糖果的要求 比如说三堆糖果是 ���abc从 �a 中拿走 11 块糖果 同时从 �b 中拿走 22 块糖果从 �b 中拿走 11 块糖果 同时从 �c 中拿走 22 块糖果1=t=1001=���=1001=abc=100

原文地址: https://www.cveoy.top/t/topic/hcLB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录