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

什么网站可以做设计泽库县公司网站建设

什么网站可以做设计,泽库县公司网站建设,如何做话费卡回收网站,吉林电商网站建设价格题目描述: 思路: (双指针) O(n)O(n)O(n) 给定一个数组 nums,要求我们将所有的 0 移动到数组的末尾,同时保持非零元素的相对顺序。 如图所示,数组nums [0,1,0,3,12],移动完成后变成nums [1,3,12,0,0] &am…

题目描述: 

思路:

        (双指针) O(n)O(n)O(n)

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

        如图所示,数组nums = [0,1,0,3,12],移动完成后变成nums = [1,3,12,0,0] ,下面来讲解双指针的做法。

        我们定义两个指针,i指针和k指针,i指针用来遍历整个nums数组,k指针用来放置nums数组元素。然后将非0元素按照原有的相对顺序都放置到nums数组前面,剩下的位置都置为0。这样我们就完成了0元素的移动,同时也保持了非0元素的相对顺序。

具体过程如下:

  1. 定义两个指针i和k,初始化i = 0,k = 0。
  2. i指针向后移动,遍整个nums数组,如果 nums[i] != 0,也就是说遇到了非0元素,此时我们就将nums[i]元素放置到nums[k]位置,同时k++后一位。
  3. 最后将k位置之后的元素都赋值为0。

实现细节:

遍历数组可以使用for(int x : nums),这样就少定义一个指针,代码也显得更加简洁。

时间复杂度分析: O(n)O(n)O(n) ,nnn是数组的长度,每个位置只被遍历一次。

时间复杂度分析: O(1)O(1)O(1) ,只需要常数的空间存放指针变量。

代码:

class Solution {
public:void moveZeroes(vector<int>& nums) {int k = 0;for(int x : nums)if(x != 0) nums[k++] = x;while(k < nums.size())  nums[k++] = 0;        }
};

 结果:

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

相关文章:

  • 购物网站建设价格一览表免费网页模板网站
  • PR做视频需要放网站上沈阳男科医院好吗
  • 网站页面格式python是什么
  • 网站静态页面生成珠海市建设工程质量监督检测站网站
  • 北京好的做网站的公司有哪些如何改wordpress文章模板
  • 可以做哪方面的网站页游在线玩
  • 做书评的网站有哪些7k7k传奇世界网页版
  • 哪有网站建设的优化设计五年级下册数学答案
  • 公司网站内容相近wordpress安装乱码
  • 视频网站怎么做外链百度号注册官网
  • 企业简介范文seo推广软
  • 郑州网站建设制作费用直接打域名访问网站
  • 汕头拿家做网站建设学校网站论文
  • 网站建设平台软件哪个好用上海洛可可设计公司
  • 过界女主个人做网站的财务公司代理记账怎么收费
  • 下载的网站模版怎么用高水平高职院校 建设网站
  • 互联网站建设维护是做什么的南宁建站软件
  • 淄博网站排名外包浅谈网站页面框架设计
  • 淘客网站推广怎么做微博营销网站源码
  • 常德网站建设套餐报价网站更改关键词
  • 网站建设文字资料广州seo网站
  • 河北省两学一做网站泉州市住房和城乡建设部网站
  • 靖江网站建设价格爱做网站网址
  • 建设一个旅游电子商务网站wordpress docker
  • 广州网站seo招聘数字化平台建设
  • cad图纸免费下载网站英语学习软件
  • 企业网站模板2016成套网站建站和项目部署一样吗
  • 网络营销导向企业网站建设企业网络营销策划方案设计
  • 手工网站和自助建站式网站却别深圳哪家做网站比较好
  • 平凉市建设局网站放射科网站建设