关关的刷题日记07——Leetcode 26. Remove Duplicates from Sorted Array 方法1

关小刷刷题07 – Leetcode 26. Remove Duplicates from Sorted Array 方法1

题目

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.

题目的意思是:排好序的数组中会有一些重复的数,要在不额外开辟空间的情况下删掉重复的数,返回不重复的数的长度。至于新长度之外还有哪些数就不用管了。

方法1

方法1:在关小刷刷题05 – Leetcode 217. Contains Duplicate中,有没有发现unique是个好东西?又能去重,又能直接返回新长度啊。Unique时间复杂度O(n)。

class Solution {
public:
   int removeDuplicates(vector<int>& nums) {
       return unique(nums.begin(), nums.end())-nums.begin();
   }
};

方法2

方法2:如果面试的时候不让用unique怎么办呢,那就把不重复的数一点点往前搬了,我是一个小小搬运工,我搬呀搬呀搬。顺便把搬了多少数记录下来,返回。且听下回分解。

人生没有白走的路,每一步都算数,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。

-END-


欢迎使用专知

专知,一个新的认知方式!目前聚焦在人工智能领域为AI从业者提供专业可信的知识分发服务, 包括主题定制、主题链路、搜索发现等服务,帮你又好又快找到所需知识。


使用方法>>访问www.zhuanzhi.ai, 或点击文章下方“阅读原文”即可访问专知


中国科学院自动化研究所专知团队

@2017 专知


专 · 知


关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法、深度干货等内容。扫一扫下方关注我们的微信公众号。


点击“ 阅读原文 ”,使用 专知!
展开全文
Top
微信扫码咨询专知VIP会员