33.数组中未出现的最小正数

  • Post author:
  • Post category:其他




33.数组中未出现的最小正数


题目描述

给定一个无序数组arr,找到数组中未出现的最小正整数

例如arr = [-1, 2, 3, 4]。返回1

arr = [1, 2, 3, 4]。返回5

[要求]

时间复杂度为O(n)O(n),空间复杂度为O(1)O(1)


输入

[-1,2,3,4]


返回值

1


分析

1.最小正数是1,所以从1开始比较

2.如果相等就给1+1;一直循环

3.直到数组中没有该数字时,跳出循环


代码实现

    import java.util.*;
    
    
    public class Solution {
        /**
         * return the min number
         * @param arr int整型一维数组 the array
         * @return int整型
         */
        public int minNumberdisappered (int[] arr) {
    	        int res = 1;
    	        Arrays.sort(arr);
    	        while(true) {
    	        	for(int i=0;i<arr.length;i++) {
    	        		if(arr[i]!=res) {
    	        			return res;
    	        		}
    	        		else
    	        			res = res+1;
    	        	}
    	        }
    	    }
    }



版权声明:本文为qq_45874107原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。