swift 删除排序数组中的重复项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 删除排序数组中的重复项相关的知识,希望对你有一定的参考价值。
参考技术A 条件:给你一个无序数组 nums ,请你 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。例1:给定一个数组nums为[1,4,3,2,1],去掉重复元素应该返回4
例2:
1)数组排序再遍历数组,取出不同的数字存储在临时数组中,最后将临时数组赋值给原数组,即为所求
2)双指针法,符合题目要求
先数组排序后,定义连个指针 i 和 j ,其中 i 是慢指针,代表数组中连续不重复的数字的下标,j是快指针,代表原数组的下标,遍历数组,只要 nums[i] = nums[j] , 就增加 j 跳过重复的数字,当 nums[i] != nums[j] 时,就把num[j]的值赋值到num[i+1]中,然后i递增,依次重复上述过程至数组达到末尾
3)时间复杂度:O(n)
备注:因为数组是 排序 的,只要是相同的肯定是挨着的,我们只需要遍历所有数组,然后前后两两比较,如果有相同的就把后面的给删除。
以上是关于swift 删除排序数组中的重复项的主要内容,如果未能解决你的问题,请参考以下文章