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;
}
相关推荐
运筹说21 分钟前
运筹说 第134期 | 矩阵对策的解法
人工智能·算法·矩阵·运筹学
梭七y36 分钟前
【力扣hot100题】(010)滑动窗口最大值
算法·leetcode·职场和发展
commonbelive37 分钟前
力扣hot100——搜索二维矩阵
算法·leetcode·矩阵
Wils0nEdwards37 分钟前
Leetcode 寻找两个正序数组的中位数
算法·leetcode·职场和发展
雨出2 小时前
算法学习第十七天:LRU缓存与布隆过滤器
学习·算法·缓存
oioihoii2 小时前
深入解析 C++20 中的 std::bind_front:高效函数绑定与参数前置
java·算法·c++20
MobiCetus3 小时前
如何一键安装所有Python项目的依赖!
开发语言·jvm·c++·人工智能·python·算法·机器学习
思麟呀3 小时前
String类的模拟实现
开发语言·c++·算法
Dante7983 小时前
判断质数及其优化方法
开发语言·c++·算法
ylfhpy4 小时前
Java面试黄金宝典19
java·开发语言·数据结构·算法·面试·面经