LeetCode 268 c# 缺失数字 int

因为给定的数组是乱序,所以可以先排序或找到收尾,我的方式是找到收尾,然后从小到大循环,如果存在不包含的数即可返回。
如果扩展一下,可能存在多个缺失数字的时候,那就需要考虑到需要多次调用方法,需要用到递归。
static void Main(string[] args)
        {
           int []  str=new []{9,6,4,2,3,5,7,0,1};
           int  answer = JudgeCircle(str);
           if (answer == -1) Console.WriteLine("输入参数有误!!"); 
            Console.WriteLine(answer);
            Console.ReadKey();
        }
 
        private static int JudgeCircle(int[] nums)
        {
            if (nums.Length <= 1) return -1;
            int min = nums[0], max = nums[0];
            for (int i = 0; i < nums.Length; i++)
            {
                //循环判断区间
                if (nums[i]>=max)
                {
                    max = nums[i];
                }
                if (nums[i] <= min)
                {
                    min = nums[i];
                }
            }
            int jlength = max;
            int p=-1;
            for (int j = min; j < jlength; j++)
            {
                if (!nums.Contains(j))
                {
                    return p= j;
                }
            }
            return p;
        }

猜你喜欢

转载自blog.csdn.net/us2019/article/details/80204925
今日推荐