列表

详情


LCP 06. 拿硬币

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

示例 1:

输入:[4,2,1]

输出:4

解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。

示例 2:

输入:[2,3,10]

输出:8

限制:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int minCount(vector<int>& coins) { } };

rust 解法, 执行用时: 0 ms, 内存消耗: 2.2 MB, 提交时间: 2023-09-20 09:25:05

impl Solution {
    pub fn min_count(coins: Vec<i32>) -> i32 {
        let mut sum:i32 = 0;
        for i in 0..coins.len() {
            sum += (coins[i] + 1) / 2;
        }
        return sum;
    }
}

c 解法, 执行用时: 4 ms, 内存消耗: 6 MB, 提交时间: 2023-09-20 07:51:12

int minCount(int* coins, int coinsSize){
    int sum = 0;
    for (int i = 0; i < coinsSize; i++) {
        sum += (coins[i] + 1) / 2;
    }
    return sum;
}

javascript 解法, 执行用时: 60 ms, 内存消耗: 40.9 MB, 提交时间: 2023-09-20 07:50:55

/**
 * @param {number[]} coins
 * @return {number}
 */
var minCount = function(coins) {
    let sum = 0;
    for (let i = 0; i < coins.length; i++) {
        sum += parseInt((coins[i] + 1) / 2);
    }
    return sum;
};

cpp 解法, 执行用时: 4 ms, 内存消耗: 8.3 MB, 提交时间: 2023-09-20 07:50:40

class Solution {
public:
    int minCount(vector<int>& coins) {
        int sum = 0;
        for (int& i : coins) {
            sum += (i + 1) / 2;
        }
        return sum;
    }
};

java 解法, 执行用时: 0 ms, 内存消耗: 39 MB, 提交时间: 2023-09-20 07:50:11

class Solution {
    public int minCount(int[] coins) {
        int res = 0;
        for( int v: coins ) {
            res += (v+1)/2;
        }
        return res;
    }
}

php 解法, 执行用时: 8 ms, 内存消耗: 18.9 MB, 提交时间: 2023-09-20 07:49:36

class Solution {

    /**
     * @param Integer[] $coins
     * @return Integer
     */
    function minCount($coins) {
        $res = 0;
        foreach ( $coins as $v ){
            $res += intval(($v+1)/2);
        }
        return $res;
    }
}

golang 解法, 执行用时: 0 ms, 内存消耗: 1.9 MB, 提交时间: 2020-11-05 10:38:09

func minCount(coins []int) int {
    var res int
    for _,v := range coins{
        res += (v+1)/2
    }
    return res
}

python3 解法, 执行用时: 44 ms, 内存消耗: 13.5 MB, 提交时间: 2020-11-05 10:33:54

class Solution:
    def minCount(self, coins: List[int]) -> int:
        return sum([math.ceil(x/2) for x in coins])

上一题