转自: https://blog.youkuaiyun.com/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;
}