package array; /** * @ProjectName: leetcode * @Package: array * @ClassName: Array945 * @Author: markey * @Description:945. 使æ°ç»å¯ä¸çæå°å¢é * ç»å®æ´æ°æ°ç» Aï¼æ¯æ¬¡ move æä½å°ä¼éæ©ä»»æÂ A[i]ï¼å¹¶å°å ¶éå¢Â 1ã * * è¿å使 A ä¸çæ¯ä¸ªå¼é½æ¯å¯ä¸çæå°æä½æ¬¡æ°ã * * ç¤ºä¾ 1: * * è¾å ¥ï¼[1,2,2] * è¾åºï¼1 * è§£éï¼ç»è¿ä¸æ¬¡ move æä½ï¼æ°ç»å°å为 [1, 2, 3]ã * ç¤ºä¾ 2: * * è¾å ¥ï¼[3,2,1,2,1,7] * è¾åºï¼6 * è§£éï¼ç»è¿ 6 次 move æä½ï¼æ°ç»å°å为 [3, 4, 1, 2, 5, 7]ã * å¯ä»¥çåº 5 次æ 5 次以ä¸ç move æä½æ¯ä¸è½è®©æ°ç»çæ¯ä¸ªå¼å¯ä¸çã * æç¤ºï¼ * * 0 <= A.length <= 40000 * 0 <= A[i] < 40000 * * æ¥æºï¼åæ£ï¼LeetCodeï¼ * 龿¥ï¼https://leetcode-cn.com/problems/minimum-increment-to-make-array-unique * è使å½é¢æ£ç½ç»ææãåä¸è½¬è½½è¯·èç³»å®æ¹ææï¼éåä¸è½¬è½½è¯·æ³¨æåºå¤ã * @Date: 2020/3/22 17:09 * @Version: 1.0 */ public class Array945 { public int minIncrementForUnique(int[] A) { int[] help = new int[80001]; int res = 0; for (int i = 0; i < A.length; i++) { int index = A[i]; while (help[index] != 0) { res++; index++; } help[index] = 1; } return res; } }