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

地方网站收录深圳建立网站公司网站

地方网站收录,深圳建立网站公司网站,wordpress选择文章模板,南宁企业网站建站模板目录 题目描述 前置知识 代码 方法一 双指针 思路 图解 实现 复杂度 题目描述 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间&…

目录

题目描述

前置知识

代码

方法一 双指针

思路

图解

实现

复杂度


题目描述


给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成

示例 1:

输入:nums = [1,1,1,2,2,3]
输出:5, nums = [1,1,2,2,3]
解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。 不需要考虑数组中超出新长度后面的元素。

示例 2:

输入:nums = [0,0,1,1,1,1,2,3,3]
输出:7, nums = [0,0,1,1,2,3,3]
解释:函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3。不需要考虑数组中超出新长度后面的元素。

前置知识


  • 双指针

代码


方法一 双指针

思路

  • 首先我们注意到题目要求原地修改,那么肯定就需要一个指针指向当前即将放置元素的位置,需要另外一个指针向后遍历所有元素,所以「双指针」解法就呼之欲出了。
  • 慢指针 slow : 指向当前即将放置元素的位置;则 slow - 1 是刚才已经放置了元素的位置。
  • 快指针 fast : 向后遍历所有元素;
  • 因为最多允许两个重复元素,并且 slow - 2 位置是上上次放置了元素的位置,所以让 nums[fast] 跟 nums[slow - 2] 进行比较。每次都是只允许最多两个元素出现重复,这两个元素的位置在 slow - 1 和 slow - 2

动图

实现

public class Solution {public int removeDuplicates(int[] nums) {int slow = 0;for (int fast = 0; fast < nums.length; fast++) {if (slow < 2 || nums[fast] != nums[slow - 2]) {nums[slow] = nums[fast];slow++;}}return slow;}
}

复杂度

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
http://www.15wanjia.com/news/186075.html

相关文章:

  • 建站网站本地wordpress如何同步
  • 企业网站搜索推广wordpress appdev team
  • 网站点击率高浙江国泰建设集团有限公司网站
  • wordpress与saasseo教学
  • 做网站图片太大好吗一建建设网站
  • 电子商务网站建设成都北京软件开发公司排行
  • 内蒙古建设安全监督站的网站小语种建站
  • 北京做网站哪家专业推广做网站
  • 网站名百度搜不到南宁在百度上建网站
  • sq网站推广做网站后台搭建都用什么
  • 在自己的网站里做讲课视频房地产估价师
  • 重庆微网站开发公司长沙装修公司招聘
  • 手机网站与app的区别公众号做微网站
  • 如何查找网站竞争对手的宣传方式南京建站公司
  • 网站推广阶段公司推广方案
  • 宿州网站建设哪家公司好网页美工设计教程百度网盘
  • 韶关网站建设制作怎么查看网站的建设时间
  • 建设银行鄂州分行官方网站中文网站模板
  • 中国建设教育网官网是什么网站网站模板减肥
  • 网上医疗和医院网站建设制作网上注册公司营业执照注册流程
  • 建设公司网站应有哪些功能账户竞价托管公司
  • 对比网页设计网站找人做网站需要问哪些问题
  • 电梯配件做外贸在哪个网站便宜正品的购物app
  • 小广告多的网站安徽省交通运输厅
  • 淘宝便宜的团购网站建设刚做的网站怎么快速搜索到
  • 网站宣传西安优秀的集团门户网站建设费用
  • 白山网站建设公司滨州新闻头条最新消息
  • 黄岩做网站xp怎么做网站
  • 企业开发网站用什么技术wordpress考试模板
  • 建网站需要什么条件网站的icp是什么意思