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

免费网站制作app企业qq官方下载

免费网站制作app,企业qq官方下载,wordpress固定连接,鼎成中考开卷通有关网站做的电子书面试经典 150 题 ---- 移除元素 移除元素方法一:双指针方法二:双指针优化 移除元素 方法一:双指针 题目要求在原数组的基础进行元素的删除,所以输出的数组长度一定小于原数组的长度,因此可以使用双指针,r…

面试经典 150 题 ---- 移除元素

  • 移除元素
    • 方法一:双指针
    • 方法二:双指针优化

移除元素

方法一:双指针

题目要求在原数组的基础进行元素的删除,所以输出的数组长度一定小于原数组的长度,因此可以使用双指针,rigth 指针指向将要处理的元素,left 指针指向将要赋值的元素的位置。

  • 如果 right 指针指向的元素不等于 val,那么它就一定是将要输出的元素,将该元素赋值到 left 指针指向的位置,同时将 rightleft 指针同时右移。
  • 如果 right 指针指向的元素等于 val,那么它就一定不是要输出的元素,此时 left 不动,right 右移。

最后 left 的值就是要输出的数组的长度。

class Solution {public int removeElement(int[] nums, int val) {int n = nums.length;int left = 0;for (int right = 0; right < n; right++) {if (nums[right] != val) {nums[left] = nums[right];left++;}}return left;}
}

时间复杂度: O(n)
n 为数组的长度,最多只需要遍历该数组两遍

空间复杂度: O(1)
仅需要常数的空间保存若干变量

方法二:双指针优化

方法一中,我们的两个指针都是从 0 开始的,实际上,我们可以一个指针从头开始,一个指针从尾开始,这样就最多仅需要遍历一次数组就可以了。

class Solution {public int removeElement(int[] nums, int val) {int left = 0;int right = nums.length;while (left < right) {if (nums[left] == val) {nums[left] = nums[right - 1];right -- ;} else {left ++ ;}}return left;}
}

时间复杂度: O(n)
n 为数组的长度,最多只需要遍历该数组一遍

空间复杂度: O(1)
仅需要常数的空间保存若干变量

http://www.ds6.com.cn/news/118025.html

相关文章:

  • 国外做婚纱的网站公司网站的推广
  • 云南省建设厅合同网站成都百度快照优化排名
  • 网站的备案号查询廊坊关键词排名首页
  • 华硕固件做网站6淘大象排名查询
  • 如何做彩票网站的源码免费营销软件网站
  • wordpress简约商城东莞seo培训
  • 山西 网站建设品牌推广思路
  • 国外主流媒体网站搜索引擎优化的概念
  • 网站建设费用 优帮云优化营商环境条例心得体会
  • 江油专业网站建设咨询网络营销什么意思
  • 山东app下载安装注册seo和sem是什么
  • 郑州网站 建设网站百度关键词优化
  • 河源疫情最新消息今天太原seo快速排名怎么样
  • 辽宁朝阳哪家做网站好网页推广链接怎么做
  • 广东建设安全协会网站直销产业发展论坛
  • 小学网站建设方案书引流平台有哪些
  • 如何给一个企业的网站做推广体验式营销
  • 怎么做好网站开发_设计外贸网站推广平台
  • 现在可以做网站么网站模板哪家好
  • 成品网站建设流程图青岛网站seo公司
  • 江门网站建设方案开发seo免费优化
  • 找网站建设的企业seo搜索优化公司报价
  • 模板做网站微信营销典型案例
  • 手机网站用什么软件做图片外链生成
  • 网站的设计特点有哪些电商网
  • 网站开发宣传图片怎么做app推广代理
  • 网站备案需要提交什么资料自动点击器下载
  • 天眼查官方网站小学生班级优化大师
  • 网站后台模板 仿cnzz深圳市推广网站的公司
  • 网站建设接活网络推广吧