博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 26. Remove Duplicates from Sorted Array
阅读量:4098 次
发布时间:2019-05-25

本文共 1070 字,大约阅读时间需要 3 分钟。

题目:

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn't matter what you leave beyond the new length.

思路:给定一个有序vector,去年其中重复的数字后,并返回新vector的长度。

代码:

class Solution {public:	int removeDuplicates(vector
& nums) { if (nums.size()<2){ return nums.size();//如果大小为1或者为空,则直接返回大小,不可能有重复 } else{ int a = *(nums.begin());//初始第一个数 for (vector
::iterator iter = nums.begin() + 1; iter != nums.end();){ if (a == *iter){//判断下一个数是否与前一个数相等 if ((iter + 1) == nums.end()){//相等情况下,如果iter已经是最后一个数的位置,删除当前位置的数,并break iter = nums.erase(iter); break; } else{//如果不是最后位置,则直接删除当前位置的数 iter = nums.erase(iter); } } else{//如果不相等,则将a赋值为下一个数,iter递增 a = *iter; ++iter; } } return nums.size(); } }};

转载地址:http://unmii.baihongyu.com/

你可能感兴趣的文章
【C#】身份证本地验证
查看>>
【Unity】坑爹的Bug
查看>>
【算法】求数组中某两个数的和为目标值
查看>>
如何高效学习动态规划?
查看>>
动态规划法(六)鸡蛋掉落问题(一)
查看>>
奇异值分解(SVD)的原理详解及推导
查看>>
算法数据结构 思维导图学习系列(1)- 数据结构 8种数据结构 数组(Array)链表(Linked List)队列(Queue)栈(Stack)树(Tree)散列表(Hash)堆(Heap)图
查看>>
【机器学习】机器学习系统SysML 阅读表
查看>>
最小费用最大流 修改的dijkstra + Ford-Fulksonff算法
查看>>
最小费用流 Bellman-Ford与Dijkstra 模板
查看>>
实现高性能纠删码引擎 | 纠删码技术详解(下)
查看>>
scala(1)----windows环境下安装scala以及idea开发环境下配置scala
查看>>
zookeeper(3)---zookeeper API的简单使用(增删改查操作)
查看>>
zookeeper(4)---监听器Watcher
查看>>
zookeeper(2)---shell操作
查看>>
mapReduce(3)---入门示例WordCount
查看>>
hbase(3)---shell操作
查看>>
hbase(1)---概述
查看>>
hbase(5)---API示例
查看>>
SSM-CRUD(1)---环境搭建
查看>>