移除有序数组中的重复数字2
来源:互联网 发布:淘宝店铺开通花呗支付 编辑:程序博客网 时间:2024/05/09 14:18
描述:给定一个有序数组,移除数组中重复出现三次或三次以上的数字。
输入:A={1,1,2,2,2,3,3,3,3};
输出:length= 6;A={1,1,2,2,3,3};
思路一:由于数组是有序的,遍历数组,依次判断当前元素是否与左右元素相等,若等则跳过否则将当前元素加入添加位置。时间复杂度为线性,空间复杂度为1;
class Solution{public:int remove(int A[],int n){if(n<=2)return n;int index=1;for(int i=1;i<n-1;i++){if(A[i]==A[i-1]&&A[i]==[i+1])continue;A[index++]=A[i];}A[index++]=A[n-1];return index;}};思路二:由于数组是有序的,可从第三个元素开始遍历,若当前元素与前第二位元素相等,则必定与前一位元素相等,则跳过否则加入添加位置。时间复杂度为线性,空间复杂度为1;
class Solution{public:int remove(int A[],int n){if(n<=2)return n; int index=2; for(int i=2;i<n;i++) { if(A[i]!=A[index-2]) A[index]=A[i];}return index++;}};扩展:若要求删除重复四次的数字,则利用思路二比较前第三位数字是否相等即可。
0 0
- 移除有序数组中的重复数字
- 移除有序数组中的重复数字2
- 移除有序数组中的重复元素
- leetcode 4. 移除有序数组中的重复元素 Remove Duplicates from Sorted Array
- 26. Remove Duplicates from Sorted Array(移除有序数组中的重复元素)
- 80.移除有序数组中重复元素第二弹
- 有序数组,插入重复数字
- 移除重复数字
- 移除数组中的重复元素
- 【计蒜课】移除数组中的重复元素
- 移除数组中的重复元素
- 计蒜客 移除数组中的重复元素
- java常用算法之返回目标数字在有序数组中的位置(假设有序数组中不存在重复数字)
- 【leetcode 移除有序序列重复数字】Remove Duplicates from Sorted Array(List) I(II)
- 数组中的重复数字
- 数组中的重复数字
- Remove Duplicates from Sorted Array--从有序数组中移除重复元素
- (有序数组中移除重复元素)Remove Duplicates from Sorted Array
- Android Studio 中依赖库v4与v7冲突问题
- Android EditText设置默认不弹出软键盘,点击EditText外部隐藏软键盘,EditText获取焦点时隐藏hint
- iOS 修改状态栏的颜色
- lftp使用
- 已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。 给定一个int数组A,同时给定
- 移除有序数组中的重复数字2
- Failed to load class "org.slf4j.impl.StaticLoggerBinder问题故障的解决
- linux命令行中通过ssh复制文件(scp)到远程服务器(转载)
- iOS开发之第三方分享微信分享、朋友圈分享,史上最新最全第三方分享微信方式实现、朋友圈方式实现
- 開啓Cisco交換機DHCP Snooping功能(1)
- Odoo8.0单时区应用中的时区问题
- Intent.FLAG_RECEIVER_REPLACE_PENDING
- Mysql的这些坑
- Java性能调优