LeetCode 存在重复数

转自: https://blog.csdn.net/kathuxingkai/article/details/80371596

双轴的快排算法

      算法遍历一次数组,遍历过程中,将每次遍历的数组元素按升序放到它相应的位置,那么这个元素必然>=它之前的元素。然后比较该元素与前一个元素是否相等。如果相等,则说明包含重复的元素。

 public boolean containsDuplicate(int[] nums) {

        for (int i = 1; i < nums.Length;i++){
            int  j = i - 1;
            int  t = nums[j+1];

            while (j >= 0 && nums[j] > t )

          {       

                nums[j+1] = nums[j];

                j--;
            }
            nums[j+1] = t;
            if (j >= 0 && nums[j] == nums[j+1]){
                return true;
            }
        }
        return false;
    }

猜你喜欢

转载自blog.csdn.net/abaqus3_0/article/details/80459237
今日推荐