桌上有 n
堆力扣币,每堆的数量保存在数组 coins
中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。

OpenCV步步精深-可心科创工作室
思路:
先拿两个的,剩下的拿一个,即计算是否能被2整除。
python3实现:
class Solution:
def minCount(self, coins: List[int]) -> int:
# 先拿两枚的,最后再拿一枚的
count = 0
for elem in coins:
if elem % 2 == 0:
count += elem // 2
else:
count += elem // 2 + 1
return count

OpenCV步步精深-可心科创工作室