1class Solution {2public:3int minPatches(vector<int> &nums, int n) {4nums.push_back(0);5sort(nums.begin(), nums.end());6long sum = 0;7int ans = 0;8for (int i = 1; i < nums.size(); i++) {9while ((long)nums[i] > (long)(sum + 1)) {10ans++;11sum += (long)(sum + 1);12if (sum >= (long)n) return ans;13}14sum += nums[i];15if (sum >= (long)n) return ans;16}17while (sum < (long)n) {18ans++;19sum += (long)(sum + 1);20}21return ans;22}23};