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

做茶叶网站的公司百度教育会员

做茶叶网站的公司,百度教育会员,会展平面设计主要做什么,需要多少钱Java双指针法&#xff1a;原地移除数组元素 代码解析关键点示例特点 代码解析 class Solution {public int removeElement(int[] nums, int val) {int cur 0; // 初始化一个指针 cur&#xff0c;表示新数组的当前写入位置for (int i 0; i < nums.length; i) { // 遍历原数…

Java双指针法:原地移除数组元素

  • 代码解析
  • 关键点
  • 示例
  • 特点


代码解析

class Solution {public int removeElement(int[] nums, int val) {int cur = 0; // 初始化一个指针 `cur`,表示新数组的当前写入位置for (int i = 0; i < nums.length; i++) { // 遍历原数组if (nums[i] != val) { // 如果当前元素不等于 `val`nums[cur++] = nums[i]; // 将该元素写入新位置,并移动 `cur` 指针}}return cur; // 返回新数组的长度(即有效元素的个数)}
}

这段代码是一个 Java 方法,名为 removeElement,它的功能是原地移除数组中所有等于给定值 val 的元素,并返回移除后数组的新长度。以下是详细解释:

关键点

  1. 双指针思想

    • i:快指针,遍历原数组的所有元素。
    • cur:慢指针,指向新数组中下一个可以写入的位置。
  2. 操作逻辑

    • 遍历数组时,如果当前元素 nums[i] 不等于 val,就将其复制到 nums[cur],然后 cur 自增。
    • 如果等于 val,则直接跳过,不复制。
  3. 结果

    • 最终 cur 的值就是新数组的长度(因为 cur 记录了所有保留元素的个数)。
    • 原数组的前 cur 个元素是移除 val 后的结果(后面的元素可能未被覆盖,但题目不关心)。

示例

假设输入:

nums = [3, 2, 2, 3], val = 3

执行过程:

  1. i=0nums[0]=3(等于 val,跳过)。
  2. i=1nums[1]=2(不等于 val,复制到 nums[0]cur 变为 1)。
  3. i=2nums[2]=2(不等于 val,复制到 nums[1]cur 变为 2)。
  4. i=3nums[3]=3(等于 val,跳过)。
    最终:
  • 新数组前 cur=2 个元素为 [2, 2]
  • 返回 2

特点

  • 时间复杂度:O(n),只需遍历一次数组。
  • 空间复杂度:O(1),原地修改,没有使用额外空间。

这是经典的“原地删除”问题,通过双指针高效解决。


文章转载自:

http://vdQS9kee.qqhfc.cn
http://mKPhG3OP.qqhfc.cn
http://4A7RS373.qqhfc.cn
http://iPOmsCj2.qqhfc.cn
http://kH13xE0s.qqhfc.cn
http://XbBNnYc1.qqhfc.cn
http://9ippbcsd.qqhfc.cn
http://jl2L3x2M.qqhfc.cn
http://EQGPSvu4.qqhfc.cn
http://9treyFwL.qqhfc.cn
http://24SyXz9x.qqhfc.cn
http://NftT1Iq9.qqhfc.cn
http://G9PEw7jK.qqhfc.cn
http://PZOePG8u.qqhfc.cn
http://DtP9eJxQ.qqhfc.cn
http://rojVFadA.qqhfc.cn
http://1Hw3LOaG.qqhfc.cn
http://6Quklrbn.qqhfc.cn
http://mAGVDd2d.qqhfc.cn
http://OdhWWU8J.qqhfc.cn
http://UtEg45Uc.qqhfc.cn
http://v7uzwRbR.qqhfc.cn
http://pbwIr7GT.qqhfc.cn
http://YKLTr8fD.qqhfc.cn
http://Elcgimvx.qqhfc.cn
http://uVfov3Eq.qqhfc.cn
http://bhAWXowv.qqhfc.cn
http://cSM448pK.qqhfc.cn
http://X7OuV8yF.qqhfc.cn
http://83cJ6Jyd.qqhfc.cn
http://www.dtcms.com/wzjs/672654.html

相关文章:

  • 珠海网络推广咨询怎么优化网站关键字
  • 哪个素材网站比较好用怎么建立一个公司网站
  • 如何做网站文件在网站挂广告一个月多少钱
  • 新校区建设网站管理规定云主机租用
  • 做女朋友网站网站充值系统怎么做
  • 做网站都需要什么qq空间可以做网站吗
  • 网站整体架构网店美工实训报告
  • 免费自助建站平台系统500亿网站建设
  • 企业网站外包托管推广哪家竞价托管专业
  • 怎么用ps做网站图片官网优化
  • 做网站做系统一样么wordpress 缓存 iis
  • 广州深圳做网站做博客网站赚钱
  • 元器件采购最好的网站江门网站制作案例
  • 大理建设招标有限公司网站动画网站模板
  • 深圳网站建设网资源下载wordpress
  • 免费建站网站wordpress自定义面板
  • 手机哪个网站好酷家乐在线家装设计
  • 长沙建站模板大全iis做外网站点
  • 东莞网站设计公司排名免费网站建设市场
  • 深圳商城网站设计多少钱信阳seo推广
  • 吉林省建设工程信息网站青铜峡网站建设推广
  • 昆明市城乡建设局网站深圳专业画册设计公司
  • 全国设计大赛官网seo工具助力集群式网站升级
  • 大型网站和小企业站优化思路郑州专门做网站的公司有哪些
  • 外国语学院英文网站建设网站建设招商
  • 网站幻灯片js代码做网站的公司经营范围怎么写
  • 网页制作与网站建设教程怎么做网站的项目预算
  • 内容展示型网站 设计特点关键词排名点击软件
  • 怎么用ppt做网站wordpress时间相差8小时
  • 娱乐公司网站模板wordpress 补丁