LeetCode—3010

Approach

# nums[0]是一定要付出的代價,在剩餘的陣列中找兩個最小值

Time Complexity

O(n)

Space Complexity

O(1)

Code

class Solution {
public:
    int minimumCost(vector<int>& nums) {
        int mini1 = nums[0], mini2 = 60, mini3 = 60;

        for (int i = 1  ; i < nums.size() ; i++) {
            if (nums[i] < mini2) {
                mini3 = mini2;
                mini2 = nums[i];
            }
            else if (nums[i] < mini3){
                mini3 = nums[i];
            }
        }

        return mini1 + mini2 + mini3;
    }
};