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;
}
相关推荐
凯瑟琳.奥古斯特1 小时前
K次取反最大化数组和解法(力扣1005)
开发语言·c++·算法·leetcode·职场和发展
Jerry1 小时前
LeetCode 203. 移除链表元素
算法
地平线开发者2 小时前
征程 6 | 工具链 QAT ObserverBase 源码解析
算法
地平线开发者2 小时前
【地平线 征程 6 工具链进阶教程】QAT 训练常见问题和排查
算法
地平线开发者2 小时前
征程 6 | 直方图量化配置与校准实例
算法
地平线开发者3 小时前
征程 6E/M Matrix 开发评板使用系列(一):开箱与点亮
算法·自动驾驶
Jerry3 小时前
LeetCode 59. 螺旋矩阵 II
算法
tachibana23 小时前
hot100 回文链表(234)
java·网络·数据结构·leetcode·链表
可编程芯片开发3 小时前
基于FOC控制器的BLDC无刷直流电机控制系统matlab编程与仿真
算法