当前位置: 首页 > 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.dt0577.cn/news/7614.html

相关文章:

  • 网站建设自学网深圳网络推广市场
  • 做网站的市场有那么大吗浙江企业seo推广
  • 前端网站默认登录怎么做常用网站推广方法及资源
  • seo优化排名是什么关键词优化seo优化
  • 做网站的具体内容站长之家app
  • 合肥网站建设=388元今日重大新闻头条财经
  • 独立的手机网站百度地图推广怎么收费标准
  • 网站建设开发案例国内永久免费的云服务器
  • jsp做网站毕业设计免费开店的电商平台
  • 建酒店网站代运营公司排行榜
  • jsp可以做网站吗企业策划推广公司
  • 西宁做网站君博推荐包就业的培训学校
  • 江西公共资源交易网seo是什么化学名称
  • 网站建站网站设计公司搜索指数的数据来源是什么
  • 交通运输行业网站建设网络推广运营主要做什么
  • 石家庄优化公司哪家好南宁优化网站收费
  • 网站新闻编辑怎么做查询网官网
  • 做任务 网站百度图片搜索
  • 红河优才网站建设百度账户代运营
  • 网店美工是什么seo点击软件手机
  • 企业创建网站的途径都有啥如何创建网站的快捷方式
  • 腾讯云网站搭建百度公司高管排名
  • 网站建设投资seo推广优化官网
  • 嘉兴建网站进一步优化落实
  • 低功耗集成主板做网站手机流畅优化软件
  • 丽水市莲都区建设局网站关键词热度分析工具
  • 国外网站推广宣传百度首页纯净版怎么设置
  • 文成网站制作全网关键词云在哪里看
  • 网站开发需要的语言软文的概念是什么
  • 网站建设布为网做网站的软件有哪些