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

如何做旅游网站推销app开发工具简单

如何做旅游网站推销,app开发工具简单,内容营销ppt,成都网站软件定制开发一、题目描述 283. 移动零 - 力扣(LeetCode) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 二、题目解析 可以…

一、题目描述

283. 移动零 - 力扣(LeetCode)

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

二、题目解析

可以将本题划分为数组划分(数组分块)的一类题。

一般这类题可以运用双指针的思路去解决。

注意这里的指针并不是真正的指针,而是利用数组下标来充当指针

两个指针的作用:

  • cur:从左到右扫描数组,遍历数组
  • dest:已经处理的区间内,非零元素的最后一个位置(所以初始要置为-1)

所以这两个指针可以把数组分为三个区间

那这两个指针是如何做到的呢?

cur从前往后遍历的过程中:

  1. 遇到0元素:cur++
  2. 遇到非零元素:

swap(dest+1,cur);然后dest和cur分别++,继续遍历。

注意快排中的双指针算法也是运用这一思想!!!

三、原码

void moveZeroes(int* nums, int numsSize) {//经典双指针算法int cur = 0;int dest = -1;for(cur = 0;cur < numsSize;cur++){if(nums[cur] != 0){int tmp = nums[dest+1];nums[dest+1] = nums[cur];nums[cur] = tmp;dest++;}}
}

四、复杂度

本题运用了双指针的算法,时间复杂度是O(N),因为cur指针遍历数组一遍,就已经按照题目要求排好序了。

空间复杂度是O(1),本题没有额外开辟数组空间。

总结,双指针算法解决数组数组划分问题,无论是时间复杂度还是空间复杂度,算法都是最优的!

http://www.yayakq.cn/news/501228/

相关文章:

  • 商务网站建设期末考试制作企业官网
  • 厦门手机建站wordpress aspnet_client
  • 网站排名所以关键词下降吉林网站模板
  • 如何免费开自己的网站网站在线帮助如何设计
  • 网站优化 代码优化中国建设银行官网站下载中心
  • 做网站付款会有凭证吗注册会计师报名时间
  • 网站建设的市场策划苏州做管网gis的网站
  • 湖北专业网站建设检修交换友链是什么意思
  • 医院品牌网站建设武进网站建设机构
  • 额尔古纳网站建设无锡八匹马网站建设
  • 品牌网站建设绿d茶设计排版软件
  • 百度网站建设中的自由容器企业怎么建设自己的网站首页
  • 功能性的网站归档系统第三方物流网站建设
  • 郑州php网站开发培训安卓手机做网站服务器吗
  • 标准网站建设价格国外响应式网站
  • 网站建设的目的是什么怎么创建个人网页
  • 商城网站建设行业现状网站制作 推荐新鸿儒
  • 平台兼职网站开发深圳做网站建设开发
  • php网站搬家软件建设好网站怎么付费推广
  • 网站接口设置家具网站模版
  • 上海专业网站建设 公司网站焦点图怎么做链接
  • 企业网站建设全包东莞seo网站制作报价
  • php网站建设有关知识中小企业erp系统哪个好
  • 手机网店开店网站全民健身中心项目
  • 广州网站建设网站推广网站设计原型
  • 中标公示查询网站万网域名续费优惠
  • 聊城宏远网站建设优化淘宝 网站开发 退货
  • 一个页面的html5网站模板 psd宁波网站推广优化外包
  • 南京网站制作百家号开发公司不动产登记费入什么科目
  • 网站代码开发领地申请的网站能备案吗