diff --git a/2598. Smallest Missing Non-negative Integer After Operations b/2598. Smallest Missing Non-negative Integer After Operations new file mode 100644 index 0000000..11444fe --- /dev/null +++ b/2598. Smallest Missing Non-negative Integer After Operations @@ -0,0 +1,25 @@ +class Solution { +public: + int findSmallestInteger(vector& nums, int value) { + // Store the frequency of element%value (non-negative remainder) + vector freq(value, 0); + + for (int num : nums) { + // Convert negative remainders to positive + int mod = ((num % value) + value) % value; + freq[mod]++; + } + + int mex = 0; + while (true) { + int mod = mex % value; + if (freq[mod] > 0) { + freq[mod]--; + mex++; + } else { + break; + } + } + return mex; + } +};