美文网首页
从有序数组中移除相等的数值

从有序数组中移除相等的数值

作者: 静水流深ylyang | 来源:发表于2018-12-19 23:04 被阅读0次

版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址:https://yangyuanlin.club
欢迎来踩~~~~


题目描述

  • Remove Duplicates From Sorted Array

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 A =[1,1,2],
Your function should return length =2, and A is now[1,2].

题目大意

给定一个有序数组,移除其中相等的值,并将移除后的数组长度返回。如例子所示。

思路

最笨的办法就是挨个比较,每次发现了相等的数,就把后边的数都前移一位。
这里用的办法是:维护两个指针,第一个指针记录不相同的数值,第二个指针挨个向后遍历,不相同就用第一个指针记录下来。

代码

int removeDuplicates(int A[], int n) {
    if(A==NULL || n<1)return n;
    int count = 1; // count记录不重复元素的个数
    for(int i=1; i<n; i++)
    {
        if(A[i] != A[i-1]) // 相等就跳过
            A[count++] = A[i]; // 不相等就留下
    }
    return count;
}
  • 以上。

版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址:https://yangyuanlin.club
欢迎来踩~~~~


相关文章

  • 从有序数组中移除相等的数值

    版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club欢迎来...

  • Remove Duplicates from Sorted Ar

    有序数组中移除重复数字

  • 关于二分算法

    1、常规二分 功能:有序数组中查找某个元素的位置。 2、二分拓展之一 有序数组中存在重复数值,找到某个数值在数组中...

  • 面试题53_3:数组中数值与下标相等的元素

    数组中数值和下标相等的元素。 假设一个单调递增的数组里的每个元素都是整数并且是唯一的。 找出数组中任意一个数值等于...

  • js 数组操作

    1、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组 2、计算给定...

  • 为js数组原生对象添加一些常用的方法

    1、indexOf方法 2、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返...

  • 编程练习(一)

    1.题目描述:移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组 输...

  • for of 题目

    移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回 for ...

  • 牛客js测试04

    移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回

  • 移除数组中的元素的几种解法

    问题描述: 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返...

网友评论

      本文标题:从有序数组中移除相等的数值

      本文链接:https://www.haomeiwen.com/subject/hyzskqtx.html