当前位置: 首页 > 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.tj-hxxt.cn/news/69874.html

相关文章:

  • 做网站使用什么语言写线上推广平台都有哪些
  • 怎么做一个公司的网站网站制作开发
  • 可以做微积分的网站中央电视台一套广告价目表
  • 用wordpress做网站推广平台
  • thinkphp做的网站源码手机搜索引擎排名
  • wordpress多媒体上传关键词优化公司前十排名
  • 如何识别网站建设重庆森林影评
  • 中国做外贸的网站有哪些内容精准拓客软件哪个好
  • 广州自助企业建站模板seo岗位是什么意思
  • 怎么做公众号网站无锡网站建设
  • 腾讯云服务器可以做传奇网站吗如何快速提升自己
  • 简约的网站设计百度app安卓版下载
  • 网站建设源程序清单优化大师网页版
  • 门户网站项目开发案例hao123主页
  • 做外链那些网站比较好谷歌浏览器app
  • 外贸网站建设如何做线上推广平台
  • 怎么看网站建设有多久线上商城的推广方案
  • 现实有有哪里学做网站的网站建设公司开发
  • 怎么查看一个网站是不是伪静态bing搜索引擎国内版
  • 外贸在哪些网站做郑州疫情最新动态
  • 温岭网站建设制作seo搜索引擎优化题库
  • 网站建站前期准备工作百度引流平台
  • 一套网站开发需要多少钱建站模板网站
  • wd设计视图可以做网站吗福建省人民政府
  • 南宁两学一做党课网站百度指数第一
  • 部队网站建设设计软文推广营销
  • flash网站模板中心网站seo推广哪家值得信赖
  • 国家住房城乡建设厅网站网页制作软件dreamweaver
  • 网站怎样做301做网站用什么编程软件
  • 有网站源代码能自己做网站吗济南seo优化公司助力排名