当前位置: 首页 > article >正文

Leetcode—移除元素

移除元素

    题目描述

     

 思路

      思路:定义两个指针变量指向数组第一个位置,判断nums[scr]是否等于val

                 case1:相等,scr++;

                 case2:不相等,nums[dst]=nums[scr],scr++,dst++;

        时间复杂度:O(n);空间复杂度:O(1);

画图解释

1.定义两个指针变量指向数组第一个位置

2.判断nums[scr]是否等于val

      相等,scr++

 不相等,nums[dst]=nums[scr],scr++,dst++;

    此时,src跳出了循环,dst指向的是数组下标为2的位置,而我们当前要返回数组的有效数据个数是2,那我们直接返回dst就好了。注意,我们的结束条件是src要小于我们的数组长度。

完整代码

int removeElement(int* nums, int numsSize, int val) 
{
    int str=0,dst=0;
    while(str<numsSize)
    {
        if(nums[str]==val)
        {
            str++;
        }
        else
        {
            nums[dst]=nums[str];
              str++;
              dst++;
        }
    }
    //此时dst指向的位置就是要返回的个数
    return dst;

}


http://www.kler.cn/a/313987.html

相关文章:

  • Redis高可用-主从复制
  • 鸿蒙next版开发:相机开发-元数据(ArkTS)
  • [Docker#8] 容器配置 | Mysql | Redis | C++ | 资源控制 | 命令对比
  • 天才的懈怠 : 平衡二叉树
  • 使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件
  • Autosar CP DDS规范导读
  • 海外问卷调查:选择静态IP还是动态IP?
  • Python数据分析案例59——基于图神经网络的反欺诈交易检测(GCN,GAT,GIN)
  • Redis中Hash(哈希)类型的基本操作
  • 「已解决」KeyError: ‘getpwuid(): uid not found: 1004‘
  • 编写函数,对字符数组中的字母由大到小的字母顺序进行排序
  • Jira Cloud涨价5%-20%,钉钉项目Teambition成优选替代
  • 使用Microsoft Visual Studio Installer Projects 2022打包桌面程序
  • 【大数据】MapReduce的“内存增强版”——Spark
  • 基于对数变换的图像美白增强,Matlab实现
  • Docker 数据目录迁移:一篇详细的技术指南
  • 软件测试 BUG 篇
  • java初学者:一个经典又全新改造的游戏——打地鼠
  • 别用 npm config set registry 设置淘宝镜像了!!!
  • 2025年最新大数据毕业设计选题-基于Hive分析相关
  • 【超星word下载】使用脚本下载的超星 word 文件,显示 Word 发现无法读取的内容
  • 集成学习详细介绍
  • react hooks--useLayoutEffect
  • oracle 11g SYSAUX表空间清理
  • 微服务——网关登录校验(一)
  • ODrive电机驱动算法VScode环境配置笔记教程