当前位置: 首页 > 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.mmbaike.com/news/83660.html

相关文章:

  • 网站友情链接怎么样做怎样制作网站
  • wordpress 编辑器 高亮 引用seo优化服务商
  • 政府门户网站制度建设情况广州专做优化的科技公司
  • 义乌网站建设方案详细百度移动
  • 如何为公司做网站seo综合查询怎么关闭
  • 网站开发pythonseo的含义
  • 广告发布属于什么服务seo推广薪资
  • 行业网站建设教程一键制作免费网站的app
  • 北京高端网站建设优势网站怎么提升关键词排名
  • 网站建设学校培训学校百度怎么注册自己的店铺
  • 邹平县建设局网站宁波网站推广营销
  • 食品网站建设的照片网站怎么推广效果好一点呢
  • 房山手机网站建设河南网站建设
  • 云主机建站免费技能培训网
  • 公司简介50字附子seo教程
  • 无锡网站推企业宣传推广怎么做
  • 网站开发前端课程图片搜索图片识别
  • 科技网站设计公司关键词优化搜索排名
  • 银行党风廉政建设考试网站郑州seo网络营销
  • 网站开发的标准流程小程序推广平台
  • 制作网站软件网页设计代做
  • 网站建设方案书组网方案河南品牌网络推广外包
  • 最好的微网站建设价格企业管理培训班哪个好
  • 车公庙网站建设百度建站官网
  • 丽江市企业网站搜狗推广效果好吗
  • 宁波网站建设模板下载乌鲁木齐seo
  • 网站开发维护专员岗位职责宣城网站seo
  • 东丽手机网站建设百度搜索排名购买
  • 优秀网站建设关键词筛选工具
  • 专业的网站建设专业平台seo l