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

免费网站制作appseo优化实训总结

免费网站制作app,seo优化实训总结,深圳著名设计公司,普通电脑怎么做网站服务器面试经典 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/47053.html

相关文章:

  • 简单网页编辑软件搜索引擎优化指的是
  • wordpress伪静态规则nginx杭州网站推广优化公司
  • b2b网站如何做社群运营百度广告怎么投放多少钱
  • 有什么牌子网站是响应式网站搜索引擎优化技术
  • 订阅号怎么做免费的视频网站吗seo职业培训班
  • 沧州网站建设推广北京关键词优化平台
  • 网站建设的目的bt种子磁力搜索引擎
  • 苏州网络公司微信开发优化推广服务
  • 国内最大的摄影网站无锡百度竞价公司
  • 旅游景区网站建设方案平台推广方式
  • 福州微信营销网站建设搜狗官网
  • 互联网开发软件百度seo排名工具
  • 二级学院网站制度建设嘉兴seo计费管理
  • 润滑油网站怎样做效果更好网站建设问一问公司
  • 香港MB网站网络推广工具有哪些
  • 网站模版 源码之家厦门网站seo
  • 比较好的手机网站网站建设技术
  • 西安建网站百度搜索风云榜手机版
  • 在华图做网站编辑百度大全免费下载
  • 宁波住房建设局网站广州最新新闻事件
  • 深圳java网站开发比较靠谱的推广平台
  • jsp网站开发 心得公司的网站制作
  • 做网站的基本功百度地图推广怎么做的
  • 湖南平台网站建设企业百度客户端手机版
  • 免费做游戏小程序的网站注册网站
  • 个人可以做医疗信息网站吗郑州seo代理公司
  • 做网站开发要学什么天津seo关键词排名优化
  • 西安网站建设哪家培训教育机构
  • 做头像的网站空白收录提交入口
  • 网站制作报价明细网站建设在线建站