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;
}
相关推荐
期末考复习中,蓝桥杯都没时间学了2 分钟前
力扣刷题15
算法·leetcode·职场和发展
2301_817497338 分钟前
C++中的装饰器模式高级应用
开发语言·c++·算法
m0_5494166612 分钟前
C++编译期字符串处理
开发语言·c++·算法
m0_5811241912 分钟前
C++中的适配器模式实战
开发语言·c++·算法
A尘埃17 分钟前
零售连锁店生鲜品类销量预测——线性回归(Linear Regression)
算法·线性回归·零售
u01092727130 分钟前
C++与人工智能框架
开发语言·c++·算法
Fleshy数模40 分钟前
从欠拟合到正则化:用逻辑回归破解信用卡失信检测的召回率困境
算法·机器学习·逻辑回归
im_AMBER1 小时前
Leetcode 111 两数相加
javascript·笔记·学习·算法·leetcode
TracyCoder1231 小时前
LeetCode Hot100(21/100)——234. 回文链表
算法·leetcode·链表
可涵不会debug1 小时前
Redis魔法学院——第四课:哈希(Hash)深度解析:Field-Value 层级结构、原子性操作与内部编码优化
数据库·redis·算法·缓存·哈希算法