classSolution{public:intminPatches(vector<int>&nums,intn){intans=0;inti=0;// Point to numslongmiss=1;// Min sum in [1, n] we might misswhile(miss<=n)if(i<nums.size()&&nums[i]<=miss){miss+=nums[i++];}else{// Greedily add miss itself to increase the range// From [1, miss) to [1, 2 * miss)miss+=miss;++ans;}returnans;}};
classSolution{publicintminPatches(int[]nums,intn){intans=0;inti=0;// Point to numslongmiss=1;// Min sum in [1, n] we might misswhile(miss<=n)if(i<nums.length&&nums[i]<=miss){miss+=nums[i++];}else{// Greedily add miss itself to increase the range// From [1, miss) to [1, 2 * miss)miss+=miss;++ans;}returnans;}}
classSolution:defminPatches(self,nums:List[int],n:int)->int:ans=0i=0# Point to numsmiss=1# Min sum in [1, n] we might misswhilemiss<=n:ifi<len(nums)andnums[i]<=miss:miss+=nums[i]i+=1else:# Greedily add miss itself to increase the range# From [1, miss) to [1, 2 * miss)miss+=missans+=1returnans