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

常州行业网站制作杭州谷歌seo公司

常州行业网站制作,杭州谷歌seo公司,网站文字格式,西安抖音运营1 题目描述 图1 题目描述 2 题目解读 对于有序数组nums,要求在不使用额外数组空间的条件下,删除数组nums中重复出现的元素,使得nums中出现次数超过两次的元素只出现两次。返回删除后数组的新长度。 3 解法一:双指针 双指针法可以…

1 题目描述

图1 题目描述

2 题目解读

        对于有序数组nums,要求在不使用额外数组空间的条件下,删除数组nums中重复出现的元素,使得nums中出现次数超过两次的元素只出现两次。返回删除后数组的新长度。

3 解法一:双指针

        双指针法可以很好地解决此题。

3.1 解题思路

        设置双指针,从数组nums的第3个元素开始比较,直到nums的最后一个元素。

3.2 设计代码

#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:int removeDuplicates(vector<int>& nums) {int n = nums.size();if (n <= 2) {return n;}int slow = 2, fast = 2;while (fast < n) {if (nums[slow - 2] != nums[fast]) {nums[slow] = nums[fast];++slow;}++fast;}return slow;}
};
int main() {int x[] = { 1,1,1,2,2,3 };vector<int> nums;for (int i = 0; i < 6; i++){nums.push_back(x[i]);}Solution S;int ans = S.removeDuplicates(nums);cout << ans << endl;return 0;
}

3.3 复杂度分析

  • 时间复杂度:O(n)。while循环遍历了一遍数组元素。
  • 空间复杂度:O(1)。没有使用额外数组空间。

3.4 提交结果

图2 双指针法代码执行结果

4 解法二:前移法

        前移法是由双指针法扩展出来的一种方法,与双指针法有着相似的思想。

4.1 解题思路

        设置指针right,从数组nums的第3个元素开始遍历,使用变量k记录需要移除的元素的个数,将需要移动的元素前移k个位置。

4.2 设计代码

#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:int removeDuplicates(vector<int>& nums) {int n = nums.size();if (n <= 2) {return n;}// k累计删除的元素个数int fast = 2, k = 0;while (fast < n) {if (nums[fast - k - 2] != nums[fast]) {nums[fast - k] = nums[fast];}else {++k;}++fast;}return fast - k;}
};
int main() {int x[] = { 1,1,1,2,2,3 };vector<int> nums;for (int i = 0; i < 6; i++){nums.push_back(x[i]);}Solution S;int ans = S.removeDuplicates(nums);cout << ans << endl;return 0;
}

4.3 复杂度分析

  • 时间复杂度:O(n)。while循环遍历了一遍数组nums的元素。
  • 空间复杂度:O(1)。没有使用额外数组空间。

4.4 提交结果

图3 前移法代码执行结果

5 解题心得

  • 让有序数组nums中重复出现的元素只出现两次,是让其只出现一次的变体题目,难度更大。
  • 双指针法与前移法之间,可以相互转换。
  • 双指针法中,left指针用于放置新元素。
http://www.ds6.com.cn/news/78594.html

相关文章:

  • 视频网站开发防止盗链海外网络推广平台
  • 宁远网站建设百度seo软件曝光行者seo
  • 教育培训网站抄袭网络营销管理办法
  • 国外做批发的网站crm管理系统
  • 网站资料如何做参考文献太原seo自媒体
  • ps如何做网站专题企业网络推广服务
  • 做响应式网站的价格百度搜索广告价格
  • 南阳网站排名公司app注册推广团队
  • 一个虚拟主机多个网站前端seo主要优化哪些
  • 联赛网站建设不足短视频推广平台有哪些
  • wordpress单独页面做网站排名优化师
  • 小橘子被做h网站总裁班课程培训
  • dedecms网站后台模板短视频推广引流
  • 互联网 网站建设网站seo关键词设置
  • 售后服务 培训网站后台操作 多少恶意点击软件
  • 找网站公司做网站用了织梦可以吗什么是seo搜索
  • 为网站做seo需要什么广告营销策略有哪些
  • 网站建设前提广州网络营销产品代理
  • 赣州做网站什么价格对网站提出的优化建议
  • 涟源网站设计seo多久可以学会
  • 湘潭网站建设 搜搜磐石网络种子搜索引擎在线
  • 公众号做电影网站搜索网站
  • 网站做什么内容赚钱seo诊断书
  • 网站建设培训多少钱搜索引擎优化常用方法
  • 如何做tiktok的数据排行网站品牌公关公司
  • 红杉树装修公司seo指的是什么意思
  • wordpress数据维护seo优
  • 网站开发相关知识福州seo网络推广
  • 网站建设 powered by 祥云平台关键词收录查询工具
  • 2345网址导航手机版下载seo自动刷外链工具