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;
}
相关推荐
m0_5312371712 分钟前
C语言-分支与循环语句练习2
c语言·开发语言·算法
AIpanda88815 分钟前
什么是AI销冠系统和AI提效软件系统?主要区别和应用场景是什么?
算法
程序员酥皮蛋30 分钟前
hot 100 第三十三 33.排序链表
数据结构·算法·链表
蚊子码农34 分钟前
算法题解记录-2452距离字典两次编辑以内的单词
开发语言·算法·c#
重生之后端学习39 分钟前
207. 课程表
java·数据结构·算法·职场和发展·深度优先
Tisfy1 小时前
LeetCode 1523.在区间范围内统计奇数数目:两种方法O(1)算
算法·leetcode·题解
癫狂的兔子2 小时前
【Python】【机器学习】线性回归
算法·回归·线性回归
tankeven2 小时前
HJ92 在字符串中找出连续最长的数字串
c++·算法
小雨中_2 小时前
3.1 RLHF:基于人类反馈的强化学习
人工智能·python·深度学习·算法·动态规划
relis2 小时前
从 dma-buf 到 tensor parallel:跨越领域的零拷贝模式
算法