#+ANKI_DECK: study_deck_02 * TODO 0945. Minimum Increment to Make Array Unique :medium: :PROPERTIES: :NEETCODE: [[file:../../roadmap.org::*0945. Minimum Increment to Make Array Unique][0945. Minimum Increment to Make Array Unique]] :END: You are given an integer array ~nums~. In one move, you can pick an index ~i~ where ~0 <= i < nums.length~ and increment ~nums[i]~ by ~1~. Return /the minimum number of moves to make every value in /~nums~/ *unique*/. The test cases are generated so that the answer fits in a 32-bit integer. *Example 1:* #+begin_src Input: nums = [1,2,2] Output: 1 Explanation: After 1 move, the array could be [1, 2, 3]. #+end_src *Example 2:* #+begin_src Input: nums = [3,2,1,2,1,7] Output: 6 Explanation: After 6 moves, the array could be [3, 4, 1, 2, 5, 7]. It can be shown that it is impossible for the array to have all unique values with 5 or less moves. #+end_src *Constraints:* - ~1 <= nums.length <= 10^{5}~ - ~0 <= nums[i] <= 10^{5}~ ** TODO Approach Write your approach here. ** TODO Python #+begin_src python class Solution: def minIncrementForUnique(self, nums: List[int]) -> int: #+end_src ** TODO C++ #+begin_src cpp class Solution { public: int minIncrementForUnique(vector& nums) { } }; #+end_src