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

企业网站搜索优化网络推广网店托管代运营怎么样

企业网站搜索优化网络推广,网店托管代运营怎么样,wordpress 图片变形,域名网址申请流程移动零 文章目录移动零题目链接:[移动零](https://leetcode.cn/problems/move-zeroes/)题目解析:讲解算法原理双指针算法的介绍:(对于本题)双指针算法的效果:解题分析:解题代码:题目…

移动零

文章目录

  • 移动零
    • 题目链接:[移动零](https://leetcode.cn/problems/move-zeroes/)
    • 题目解析:
    • 讲解算法原理
      • 双指针算法的介绍:
      • (对于本题)双指针算法的效果:
      • 解题分析:
    • 解题代码:

题目链接:移动零

题目解析:

在这里插入图片描述
例如:[0,1,0,3,12],在不复制数组的情况下,对它进行操作,结果如下:
[1,3,12,0,0],可以看到,满足了题目的两个要求:

  1. 0 都在数组的末尾
  2. 非零元素的相对顺序,是有序的,由小到大

讲解算法原理

类似于这种对数组内容进行操作的题目,可以理解为 数组划分 或 数组分块 问题。

数组划分问题的特点:
给定一个数组,根据某种规则,将数组的内容,划分为若干个区间

例如这道 移动零 的题目:
给定一个数组:[0,1,0,3,12]
规则:非零元素移动到数组的左边0 移动到数组的右边(末尾),同时非零元素的相对顺序得保持。
在这里插入图片描述

解决这类题目,有一个很经典的算法:双指针算法

双指针算法的介绍:

这里的指针,不是 C语言 当中的指针

这里的指针,指的是 数组下标 来作为指针。因为数组里面,有个很好的特性,我们可以通过数组的下标,来索引(寻找)到数组的元素。

(对于本题)双指针算法的效果:

首先,先定义两个 int 类型的整数,作为指针

变量名是自定义的,这里使用 dest 和 cur 。
dest => destination 终点,目的地
cur => current 最近的
在这里插入图片描述

两个指针的作用:
cur:从左往右扫描数组,遍历数组
dest:已处理的区间内,非零元素的最后一个位置(作为一个分割线)

画一个图来展示这两个指针的作用:
在这里插入图片描述

利用这两个变量,将这个数组的内容划分为三个区间
第一个:[ 0,dest ] ,已经处理过的区间,里面全都是 非零元素
第二个:[ dest+1,cur-1 ] ,已经处理过的区间,里面全都是 0
第三个:[ cur,n-1 ] ,cur当前所指向的元素,是没有被处理过的元素,n-1 是因为数组的下标是从 0下标 开始的,下标的最大值为 数组元素个数(n)-1 ,这个区间表示的是待处理的元素

当 dest 和 cur 从左向右走的过程中,三个一直保持这样的性质的话,当 cur 这个指针 等于 n 时,也就是把整个数组扫描过一遍之后(cur == n),待处理的区间的没有了。
在这里插入图片描述

解题分析:

对这两个指针进行初始化:
cur:初始化为 0,因为它是要从左到右遍历整一个数组的。
dest:由于刚开始进行数组扫描的时候,是没有 非零元素 的,所以,初始化为 -1
在这里插入图片描述

算法演示:
在这里插入图片描述

解题代码:

//这是力扣提交的代码部分
class Solution {public void moveZeroes(int[] nums) {
//        刚开始时没有非零元素的,dest初始化为 -1int dest = -1;for(int cur = 0;cur < nums.length;cur++) {
//            由于遇到 0 ,不做处理,仅 cur++
//            而for循环结束的最后,就会进行 cur++
//            所以,仅需要处理遇到 非零元素 的情况if(nums[cur] != 0) {dest++;int tmp = nums[cur];nums[cur] = nums[dest];nums[dest] = tmp;}}}
}
http://www.dtcms.com/a/485607.html

相关文章:

  • 网站建设书籍免费网站建设的客户需求分析调研表
  • 做影视网站对服务器要求代写稿子的平台
  • 大题小做网站哈尔滨网站设计公司地址
  • 宁海县城镇建设局网站WordPress建站教程 网盘
  • 手机上自己做网站吗深圳域名注册公司
  • 后台风格网站开发平台网站多少钱
  • 网站常用的中文字体设计免费素材网站有哪些
  • 网站维护合同模板山东泰安房价2023最新价格
  • 国外做多媒体展览的网站上海哪家做公司网站
  • 白人与黑人做爰网站征婚网站怎么做
  • 住宅与建设部网站易店无忧官网
  • 重庆网站推广计划宁波网站seo诊断工具
  • 网站访问量来源网站建设 杭州市萧山区
  • 专业网站建设制作价格开发一个企业官网多少钱
  • 网站cms系统源码go 做视频网站
  • 网站建设 工作方案2021深圳装修公司排名前十强
  • 长春网站建设找源晟品牌策划设计
  • 无锡网站推广$做下拉去118cr做一个网站最便宜多少钱
  • 台州网站制作公司python基础教程ppt
  • 南宁网站建设官网企业网站建立哪
  • 江西网站开发费用做移动网站优化排名首页
  • 网站如何提交关键词淘宝店铺网站建设可行性报告
  • 建站公司互橙知乎建企业网站怎么做
  • 做网站付款方式在门户网站做产品单页多少钱一天
  • 网站建设规划方案.ppt全国招商代理项目
  • wordpress 4.7.5 中文优质的seo快速排名优化
  • 网站建设发展史淘宝网官网登录网页版
  • wordpress 点评类网站wordpress nextgen gallery
  • 一起做网店类型的网站wordpress 定时重启
  • 佛山有那几家做网站湖南省住房与城乡建设网站