数组中未出现的最小正整数
数组中未出现的最小正整数
https://www.nowcoder.com/practice/8cc4f31432724b1f88201f7b721aa391?tpId=117&tqId=37800&rp=1&ru=%2Fta%2Fjob-code-high&qru=%2Fta%2Fjob-code-high%2Fquestion-ranking&tab=answerKey
public int minNumberdisappered (int[] arr) { // write code here //原地处理数组 将数组中数字i放在i-1的位置 for(int i=0;i<arr.length;i++){ //保证数组中处理的数字不越界 if(arr[i]>0 && arr[i]<=arr.length){ swap(i,arr[i]-1,arr); } } for(int i=0;i<arr.length;i++){ if(i+1!=arr[i]) return i+1; } return arr.length+1; } private void swap(int i,int j,int[] arr){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; }