美文网首页
009-原地删除元素

009-原地删除元素

作者: Woodlouse | 来源:发表于2020-05-14 22:38 被阅读0次

    描述

    给定一个数字T和一个数组S,写一个函数删除S中的所有的T元素,返回删除后的新长度。

    数组元素的顺序没有可以改变,也不用关心新长度之后的元素是什么内容。

    分析

    这是一个原地删除的问题,可以设定两个游标iindex

    1,初始值:i=0; index=0; i标识当前要判断的值,index为数组的新长度;

    2,判断逻辑:若S[i] != target,则S[index++]=S[i]; i++;,否则i++;

    代码实现如下:

    int removeElement(int A[], int n, int target)
    {
        int index = 0;
        for(int i=0; i<n; i++){
            if (A[i] != target) {
                A[index++] = A[i];
            }
        }
        
        return index;
    }
    

    时间复杂度O(n)、空间复杂度为O(1)。


    代码在这儿

    相关文章

      网友评论

          本文标题:009-原地删除元素

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