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

八戒网站做推广西安网络推广优化培训

八戒网站做推广,西安网络推广优化培训,mac字体wordpress,无锡网站制作26.删除重复元素 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元…

26.删除重复元素

题目描述

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与
  • nums 的大小不重要。 返回 k 。

解题思路

  1. 这类题目要学会不要第一时间想到for循环,而是尝试使用双指针的方式。双指针的关键就是确定两个指针移动的时机。根据不同的移动时机和方向,双指针可以分为快慢指针,碰撞指针以及滑动窗口。
  2. 在本题中,定义双指针p和q,p指向最终数组的最后一个元素的下一个位置【要确保p之前的元素没有重复】,而q向后移动,遇到不重复元素,则将其添加到p指针位置。

理清思路就可以明确p,q两个指针的移动时机:

  • 当q指向无重复元素时,将该元素移动至p指针位置,然后p向后移动一位
  • q指针每一轮向后移动一位
  • 这种移动方式的双指针称为快慢指针。其中p为慢指针,q为快指针。

代码

class Solution {public int removeDuplicates(int[] nums) {// 初始化int n = nums.length;if (n == 0) {return 0;}// 核心算法int fast = 1, slow = 1;while (fast < n) {if (nums[fast] != nums[fast - 1]) {// 当快指针遇到了不重复元素时,将该元素放到慢指针的位置nums[slow] = nums[fast];// 慢指针向后移动一位++slow;}// 每一轮,快指针都向后移动一位++fast;}// 返回return slow;}
}

27.移除元素

题目描述

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

解题思路

这题依旧是使用快慢指针。思路如下:
定义快慢指针都指向第一个元素,然后快指针开始遍历数组。若快指针指向的元素不等于val,那么将该元素放到慢指针所指向的位置,然后慢指针才向后移动一步。
理清思路后,明确快慢指针的移动时机:

  • 快指针遍历数组,每一轮都向后移动一位
  • 当快指针指向的元素不等于val时,将快指针指向元素放到慢指针处,慢指针向后移动一位

代码

class Solution {public int removeElement(int[] nums, int val) {int n = nums.length;// 定义慢指针int slow = 0;// 快指针遍历数组for (int fast= 0; fast< n; fast++) {if (nums[fast] != val) {// 若快指针指向的元素不等于val,则将快指针的元素放到慢指针处nums[slow] = nums[fast];// 这种情况下,慢指针移动一步。slow++;}}return slow;}
}
http://www.mnyf.cn/news/15213.html

相关文章:

  • 网站怎么做能赚钱吗seo代理
  • 北京做网站手机百度电脑版入口
  • 衡水网站建设在哪里奶茶店推广软文500字
  • 邦拓网站建设大连网络推广
  • 网站商务方案百度收录查询工具官网
  • 建筑网人才正版seo搜索引擎
  • 建筑公司网站页面图片线上销售渠道有哪几种
  • 网站独立模块是什么意思页面优化的方法
  • python 做网站开发优化大师 win10下载
  • 网站备案照片要求免费加客源
  • 网站设计公司排名知乎seo sem是指什么意思
  • 企业信用信息查询公示系统网址seo资源咨询
  • php怎样做网站十大最靠谱it培训机构
  • 网站建设要点拼多多代运营一般多少钱
  • html5源码网站排名优化公司哪家好
  • 搭建门户网站百度seo如何快速排名
  • 怎么做自己的网站教程都有什么推广平台
  • 网页编辑教程谷歌seo 优化
  • 上海徐汇网站建设公司crm网站
  • 网站空间是不是服务器客源软件哪个最好
  • 网站建设价格明细表天津百度seo排名优化
  • 大学网站建设排名许昌网络推广外包
  • 游戏网站建设的策划做网页的网站
  • wordpress源代码分析域名seo查询
  • 嵊州哪里可以做网站百度关键词排名点击
  • 哪些是 joomla做的网站全网投放广告的渠道有哪些
  • 邹城网站开发百度seo优化推广公司
  • 权威的建筑工程网站蜘蛛seo超级外链工具
  • 网站维护有多长时间360搜索引擎的特点
  • 东莞电商建站西安百度seo排名