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

做网站刷流量挣钱吗网络营销案例分析

做网站刷流量挣钱吗,网络营销案例分析,网页模板快速建站工具,织梦模板网站源码深入解析:删除有序数组中的重复项 II——巧用双指针实现条件筛选 在算法世界里,数组去重 是一道经典问题,尤其是面对 有序数组 时,我们如何在 保证元素相对顺序 的前提下,高效去重?LeetCode 第 80 题 “删…

深入解析:删除有序数组中的重复项 II——巧用双指针实现条件筛选

在算法世界里,数组去重 是一道经典问题,尤其是面对 有序数组 时,我们如何在 保证元素相对顺序 的前提下,高效去重?LeetCode 第 80 题 “删除有序数组中的重复项 II” 就是这样一道挑战题。今天,我将深入解析 双指针技巧 如何帮我们解决这个问题,并通过 详细代码讲解,让你彻底掌握它的核心思想。


1. 题目理解

题目要求:

  • 在一个升序排列的数组中,删除重复的元素,但最多保留两个相同的元素
  • 返回新数组的长度,并保证原数组的前部分存储的是处理后的元素
  • 要求使用 O(1) 额外空间(即不能借助额外的数组存储)。

示例

输入: nums = [1,1,1,2,2,3]
输出: 5
处理后的数组: [1,1,2,2,3]

可以看到:

  • 原本 “1” 出现了三次,但我们只能 保留两个,因此去掉一个 “1”;
  • “2” 也出现了两次,符合要求,保留;
  • “3” 只出现了一次,符合要求,保留。

2. 解决思路——双指针法

由于数组 有序,我们可以利用 双指针技巧

  1. 快指针 (i) 负责遍历整个数组,寻找符合条件的元素;
  2. 慢指针 (j) 负责 存储符合条件的元素,保证最终数组的正确性。

同时,我们需要一个 计数变量 count,用于记录当前数字出现的次数:

  • 如果当前元素次数 ≤ 2,则将其存入结果数组;
  • 否则,跳过该元素

3. 代码详解

def removeDuplicates(nums):# 边界条件:空数组直接返回0if not nums:return 0# 初始化双指针:j 指向存储位置,count 记录当前元素出现次数j = 0  # 慢指针,最终数组的索引count = 1  # 当前元素出现次数# 遍历整个数组(快指针 i)for i in range(1, len(nums)):if nums[i] == nums[i - 1]:  # 如果当前元素与前一个相同count += 1else:count = 1  # 新数字,重置计数if count <= 2:  # 只存储最多两个相同元素j += 1nums[j] = nums[i]  # 赋值到正确位置return j + 1  # 返回新数组长度

4. 代码解析

(1) 双指针逻辑

  • i 从索引 1 开始遍历,用于检查每个元素;
  • j 存储符合条件的元素,保证最终数组正确。

(2) 条件筛选

  • 通过 count 记录 当前元素出现次数
    • 小于等于 2,则 存入数组
    • 超过 2,则 跳过,保证去重。

5. 示例运行

让我们来看实际执行过程:

nums = [1,1,1,2,2,3]
length = removeDuplicates(nums)
print(nums[:length])  # 输出:[1,1,2,2,3]

执行步骤:

  1. 处理 1,1,1 -> 保留 1,1,去掉多余 1
  2. 处理 2,2 -> 保留 2,2
  3. 处理 3 -> 保留 3

最终得到 去重后的数组 [1,1,2,2,3]


6. 时间复杂度与优化

  • 时间复杂度:O(n),因为我们只遍历一次数组;
  • 空间复杂度:O(1),不需要额外存储,仅靠原数组操作。

对于大数据场景,这是一个 高效且实用 的算法!


7. 结语:双指针——数组处理的神兵利器

这道题 充分考验了数据筛选与指针操作

  • 通过 快慢指针 实现数组的 原地去重
  • 通过 计数变量 确保符合 最多保留 2 个元素 的规则;
  • 代码结构清晰、逻辑合理,在实际开发中也能派上用场。
http://www.dtcms.com/wzjs/309921.html

相关文章:

  • 网站板块设置品牌seo推广
  • 成都专业的网站建设公司微信公众号seo
  • 旅游门票做的最好的是哪个网站关键词调整排名软件
  • 陶瓷网站建设中企动力品牌网站建设方案
  • 滨州市滨城区建设局网站竞价托管 微竞价
  • 做投资的网站好关键词分析工具
  • 网站建设独立网站模版
  • 手机装修设计图制作软件站优化
  • 网站制作 青岛seo收费还是免费
  • wordpress网站加载慢企业策划书
  • 网站建设简单动态网站搭建题库百度一下 你知道首页
  • 是普通网站地图好还是rss地图好一点莆田百度快照优化
  • 运城 网站 建设 招聘东莞关键词排名优化
  • 网上购物商城网站开发论文十大营销策略
  • 网站建设空格怎么打创意广告
  • 国外优秀创意的个人网页设计欣赏seo发帖软件
  • 网站空间管理地址杭州seo价格
  • 开发公司审计稽查的内容单页关键词优化费用
  • 合肥网站制作哪家好优化绿松石什么意思
  • 去哪个网站做农产品推广好口碑的关键词优化
  • 不限空间的免费网站网站关键词优化怎么弄
  • 政府网站建设实施方案百度app浏览器下载
  • 东台网站建设公司google关键词指数
  • 北京网站优化推广方案百度推广好不好做
  • 网站建设中的英文磁力帝
  • 国内企业网站模板seo推广费用
  • 江山有做网站开发吗微信广告推广如何收费
  • 校园网站建设的意见哪里有免费的网站推广软件
  • 清远市清城区网站建设公司最近的国际新闻
  • 织梦开发网站首页百度