classSolution{public:intmissingElement(vector<int>&nums,intk){intl=0;intr=nums.size();// # of missing numbers in [nums[0], nums[i]]autonMissing=[&](inti){returnnums[i]-nums[0]-i;};// Find the first index l s.t. nMissing(l) >= kwhile(l<r){constintm=(l+r)/2;if(nMissing(m)>=k)r=m;elsel=m+1;}returnnums[l-1]+(k-nMissing(l-1));}};
classSolution{publicintmissingElement(int[]nums,intk){intl=0;intr=nums.length;// Find the first index l s.t. nMissing(l) >= kwhile(l<r){finalintm=(l+r)/2;if(nMissing(nums,m)>=k)r=m;elsel=m+1;}returnnums[l-1]+(k-nMissing(nums,l-1));}// # of missing numbers in [nums[0], nums[i]]privateintnMissing(int[]nums,inti){returnnums[i]-nums[0]-i;}}