Divide an Array Into Subarrays With Minimum Cost I
Easy
Watch on YouTube ↗Solution
class Solution {
public int minimumCost(int[] nums) {
int first = nums[0];
int min1 = Integer.MAX_VALUE, min2 = Integer.MAX_VALUE;
for(int i=1; i<nums.length; i++) { // O(n)
if(nums[i] <=min1 || nums[i]<=min2) {
// 10,2,4,3,1
// min1 = MAX, min2 = MAX
// min1 = 1
// min2 = 2
min2 = Math.min(min2, min1);
min1 = nums[i];
}
}
return first + min1 + min2;
}
}