1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public: int minPatches(vector<int>& nums, int n) { int patches = 0; long long x = 1; int length = nums.size(), index = 0; while (x <= n) { if (index < length && nums[index] <= x) { x += nums[index]; index++; } else { x <<= 1; patches++; } } return patches; } };
|