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;
}
相关推荐
2401_8579182915 小时前
分布式系统安全通信
开发语言·c++·算法
C^h15 小时前
RTthread消息队列学习
开发语言·算法·嵌入式
郝学胜-神的一滴16 小时前
冷却时间下的任务调度最优解:从原理到实现
数据结构·c++·算法·面试
sali-tec16 小时前
C# 基于OpenCv的视觉工作流-章42-模板匹配N
图像处理·人工智能·opencv·算法·计算机视觉
abant216 小时前
leetcode 23合并k个有序链表
算法·leetcode·链表
啊董dong16 小时前
noi-2026年3月24号作业
数据结构·c++·算法
WolfGang00732116 小时前
代码随想录算法训练营 Day19 | 回溯算法 part01
数据结构·算法
汉克老师16 小时前
GESP5级C++考试语法知识(十、二分算法(二))
c++·算法·二分算法·gesp5级·gesp五级·找答案
cheems952716 小时前
[数据结构]栈和队列的互相模拟实现
数据结构·算法
计算机安禾16 小时前
【数据结构与算法】第6篇:线性表(二):单链表的实现(头插法、尾插法)
c语言·数据结构·学习·算法·链表·visual studio code·visual studio