LeetCode | 27. 移除元素

LeetCode | 27. 移除元素

OJ链接

  • 这道题有一个方法是要删除的数据直接后一个数据挪动到前一个数据,这个方法好不好?
  • 最坏的情况下时间复杂度是O(N^2)

还有一个方法

  • 定义一个src定义一个dst,原地直接进行赋值,不进行挪动,不懂的话可以看下图

代码如下:

c 复制代码
int removeElement(int* nums, int numsSize, int val){
    int src = 0,dst = 0;

    while(src<numsSize)
    {
        if(val != nums[src])
        {
            nums[dst++] = nums[src++];
        }
        else
        {
            src++;
        }
    }
    return dst;
}
相关推荐
地平线开发者17 分钟前
征程 6X Camera 接入数据评估
算法·自动驾驶
Storynone19 分钟前
【Day23】LeetCode:455. 分发饼干,376. 摆动序列,53. 最大子序和
python·算法·leetcode
小付同学呀38 分钟前
C语言学习(八)——C判断(switch语句)
c语言·学习·算法
zhojiew1 小时前
为agent实现渐进式Skills能力的思考和实践
linux·python·算法
ATAOL1 小时前
数据结构一
数据结构·算法
zyq99101_12 小时前
Python日期处理实战代码
python·算法·蓝桥杯
小璐资源网3 小时前
C++中如何正确区分`=`和`==`的使用场景?
java·c++·算法
N1_WEB3 小时前
HDU:杭电 2018 复试真题汇总
算法
AMoon丶3 小时前
C++模版-函数模版,类模版基础
java·linux·c语言·开发语言·jvm·c++·算法
We་ct4 小时前
LeetCode 79. 单词搜索:DFS回溯解法详解
前端·算法·leetcode·typescript·深度优先·个人开发·回溯