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

三天精通一种算法之移除数组元素(暴力)(快慢指针)

来看一道例题

第一种暴力解法

On=n*n

结果时间爆了

代码随想录另一种算法

双指针法

On=n

解释如下

var removeElement = (nums, val) => {
    // 初始化 k,用于记录非 val 元素的索引
    let k = 0;

    // 遍历 nums 数组
    for(let i = 0; i < nums.length; i++){
        // 如果当前元素不等于 val,则将其复制到 nums[k] 的位置,并增加 k
        if(nums[i] != val){
            nums[k] = nums[i];
            k++;
        }
    }

    // 将 nums 的长度设置为 k,这样数组中多余的部分就被删除了
    nums.length = k;

    // 返回修改后的数组
    return nums;
};

这里使用快满指针方法,k作为慢指针,i作为快指针  若快指针指向的索引与不等与val则把num[i]的值覆盖掉慢指针num[k]指向的值


http://www.mrgr.cn/news/75173.html

相关文章:

  • vue3+face-api实现人脸核身
  • 【C++】拆分详解 - 多态
  • 多线程并发造成的数据重复问题解决方案参考(笔记记录)
  • Ubuntu下的Eigen库的安装及基本使用教程
  • [QDS]从零开始,写第一个Qt Design Studio到程序调用的项目
  • WEB服务器实现(药品商超)
  • MySQL数据库:SQL语言入门 【2】(学习笔记)
  • Spring Security概述
  • 基于树莓派的日志抓取工具制作
  • 代理通讯链实现内网通讯
  • 探秘 RPC:揭开远程过程调用的实现原理
  • 如何在python中模拟重载初始化函数?
  • 下载|阿里云等联合编写的《2024大模型典型示范应用案例集》发布
  • 「Mac玩转仓颉内测版10」PTA刷题篇1 - L1-001 Hello World
  • Jdbc学习笔记(四)--PreparedStatement对象、sql攻击(安全问题)
  • 联丰策略炒股股票交易市场券商股,盘中突然拉升
  • 25京考考试时间已确定,速速查收!
  • 时序论文19|ICML24 : 一篇很好的时序模型轻量化文章,用1k参数进行长时预测
  • Linux系统编程多线程之条件变量和信号量讲解
  • java八股-垃圾回收机制-垃圾回收算法,分代回收,垃圾回收器
  • 精灵图(十八课)
  • RHCE web解析、dns配置、firewalld配置实验
  • 人工智能技术的发展历程和现状
  • 基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
  • 多模态Embedding不愧是CVPR和NIPS的共同选择!这发文思路真的需要好好学习一下!
  • c语言学习16按键控制流水灯