12.24力扣题目(拿硬币)

题目

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

思路

首先循环遍历数组 将数组的每个元素取余 如果为0则说明刚好整除 此时次数则等于元素的值处以2 如果无法整除 此时的次数就应该是元素的值处以2后加1 循环后求出最后结果

遇到的问题

暂无

代码

public class TakeMoney {
    public static void main(String[] args) {
        int[] coins = {1, 2, 3, 4};
        int i = minCount(coins);
        System.out.println(i);
    }


    public static int minCount(int[] coins) {
        int count = 0;
        for (int i = 0; i < coins.length; i++) {
            if (coins[i] % 2 == 0)
                count = count + coins[i] / 2;
            else
                count = count + (coins[i] + 1) / 2;
        }
        return count;
    }
}







版权声明:本文为weixin_43178741原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。