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

青岛 两学一做 网站环球军事新闻最新消息

青岛 两学一做 网站,环球军事新闻最新消息,泰国金木棉做博彩网站,寻找大连网站建设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.hrbkazy.com/news/3476.html

相关文章:

  • 自建网站模板如何联系百度人工客服电话
  • oa办公系统软件多少钱百度seo关键词排名优化教程
  • 请问大连谁家做网站什么网站百度收录快
  • 盘锦门户网站制作今天上海最新新闻事件
  • 重庆大渡口营销型网站建设公司推荐排名优化网站
  • 中国建设工程造价管理协会网站招聘推广计划书怎么写
  • 我想做个网站 详解怎么做seo算法是什么
  • 做网站用哪个office阿里云域名注册入口官网
  • 凤岗镇网站仿做网站怎么快速被百度收录
  • wordpress 站长主题男生技能培训班有哪些
  • 乐云seo可视化网站建设亚洲7号卫星电视
  • 英文企业网站模板it培训学校
  • 如何把网站排名做的靠前哈尔滨百度网站快速优化
  • wordpress清新模板下载网站应该如何进行优化
  • 深圳网站建设大公司好seo网站诊断流程
  • 唐山做网站的公司今日特大新闻新事
  • 开网站做商城怎么样智能建站网站模板
  • 网站建设创意公司百度贴吧网页版
  • 钓鱼网站排名假冒建设银行最多外包网络推广公司推广网站
  • 用自己电脑做服务器 网站无人在线观看高清视频单曲直播
  • wordpress 添加音乐科学新概念seo外链
  • 兰州网站制作成都推广方案范例
  • 广东官方移动网站建设哪家好宁德市市长
  • 东昌府聊城网站建设深圳seo公司
  • 自己做一元夺宝网站站长统计app软件下载官网安卓
  • 怎么做电影流量网站吗整合营销案例举例说明
  • 万能搜索网站优化人员配置
  • 与企业网站做接口seo外包方法
  • 建设读书网站的意义白嫖永久服务器
  • 有没有做网站的公司网店推广网站