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

双指针的初步了解

双引用的初步了解 10.14

微信图片_20251014192912

今天在力扣上刷题,第一次了解到了双引用的概念,如图

对于这个题,我一开始的思路是从0到size-1一步步遍历,如果找到值为val的,就删去,然后让计数器加1,最后输出计数器。但是不知道为什么总是报错

class Solution {
public:int removeElement(vector<int>& nums, int val) {int flag;int ret=0;for(int i=0;i<nums.size();++i){if(nums[i]==val){++ret;nums.erase(nums.begin()+i);}}int ans=nums.size()-ret;return ans;}
};

这是初始代码,我还没搞明白为什么会出错e

但是如果用双引用就比较简便

class Solution {public:int removeElement(vector<int>& nums, int val) {​    int a=0;    //设置两个指针,一个从头开始,一个始终指向末尾。​    int b=nums.size()-1;​    while(a<=b){if(nums[a]==val){​    int temp=nums[a];   //将首尾的值进行调换,并且让b-1,从而实现元素的删除​    nums[a]=nums[b];​    nums[b]=temp;​    --b; }else{++a;  //如果不是val,则+1继续遍历}​    }​    return b+1;  //由于b始终指向最后一个元素,而数组的下标从0开始,所以要+1}};
http://www.zskr.cn/news/21079.html

相关文章:

  • 倍增并查集学习笔记
  • ZR 2025 NOIP 二十连测 #1
  • work1
  • 分布式秒杀系统设计方案 - 实践
  • 完整教程:面向.NET开发者:Prosys OPC UA .NET SDK 全面解析
  • 安装devc++过程的分享以及问题的记录
  • zlog1
  • DBA | MySQL 数据库基础用户和信息权限管理实践
  • 2025 年生态格宾网厂家推荐榜:格宾网石笼/格宾网护坡/格宾网挡墙/格宾网网箱厂家推荐,聚焦工程安全与生态保护,助力基建项目高效落地
  • Flink 有状态流处理State、Keyed State、Checkpoint、对齐/不对齐与生产实践 - 实践
  • C++STL之stack,queue与容器适配器 - 教程
  • 2025年氧化镁厂家最新推荐排行榜,电工级/高温/低温/中温/防火电缆/矿物绝缘/熔盐加热器/电热管用/单头管用/合成云母用氧化镁公司推荐!
  • 智能体分析
  • C#——方法的定义、调用与调试 - 详解
  • Redis:高性能内存数据库的六大核心优势 - 教程
  • 2025年聚合硫酸铁供应厂家如何选?行业权威指南与成本控制策略?
  • MCP信任遭遇首次野外攻击:通过仿冒Postmark连接器窃取邮件
  • Hyperbeat Earn 套利指南:新手也能玩转 DeFi 赚钱术
  • 如何在AutoCAD中管理GIS属性表?
  • 详细介绍:跨平台UMEDITOR如何实现Word/Excel/PPT的统一格式管理?
  • 2025 年迷你仓厂家行业选购指南:安东易/小型/微型/商用/搬家/装修/电商/恒温迷你仓厂家,聚焦安全与灵活,这份优质厂商推荐榜请收好
  • 连锁餐饮拓展微信业务:试错 3 个月,终于找到靠谱方案
  • 从零开始掌握 uv:新一代超快 Python 项目与包管理器(含 Windows 支持) - 实践
  • HyperWorks许可证与其他软件的卓越集成
  • 深入理解C++中的字符编码问题:从原理到实践 - 实践
  • LeetCode热题--207. 课程表--中等 - 教程
  • 杰理GPIO状态设置
  • 深入理解 AbstractQueuedSynchronizer(AQS):构建高性能同步器的基石 - 指南
  • 2025 年清洗机厂家最新推荐:高压清洗机、超声波清洗机等多类型设备企业品牌权威榜单,帮企业高效筛选优质清洗设备
  • 从零开始:用C#开发的海量文件内容秒搜神器TDSContent——免费开源高效办公必备!