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

海口网站模板系统石家庄哪家公司做网站好

海口网站模板系统,石家庄哪家公司做网站好,建设网站费用入会计分录,重庆推广渠道这是小生,第一次写关于算法题目的博客,有什么写的不好的地方,希望各位佬可以在评论区写下需要修改的地方,我包听话的 目录 1.题目链接:283.移动零 2.题目描述: 3.解法(快排思想:数组划分区域)…

这是小生,第一次写关于算法题目的博客,有什么写的不好的地方,希望各位佬可以在评论区写下需要修改的地方,我包听话的

目录

1.题目链接:283.移动零

2.题目描述:

3.解法(快排思想:数组划分区域)

4.C++算法代码

5.算法总结


1.题目链接:283.移动零

2.题目描述:

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

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

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]
输出: [0]

3.解法(快排思想:数组划分区域)

算法思路:
在本题,我们用两个指针,一个cur,一个dest。cur指针来扫描整个数组,dest指针用来记录非零数序列的最后一个位置。在cur的扫描过程中,我们将数组分成三个区域:

算法流程:

  1. 初始化cur = 0,dest = -1(用来指向非零元素序列的最后一个位置。因为刚开始我们不知道最后一个非零元素在什么位置,因此初始化为-1)
  2. cur遍历的过程我们分为两种情况:
    a.当cur遇到的元素是0:直接让cur++。因为我们[dest+1,cur-1]的区域都是0                  b.当cur遇到非0的元素:直接让dest++(dest是非零元素的最后一个位置,所以dest++可以使得dest指向第一个0),然后用sort函数,使dest和cur位置的元素交换。再让cur++继续扫描数组。

4.C++算法代码

class Solution {
public:void moveZeroes(vector<int>& nums) {int cur = 0, dest = -1;while(cur<nums.size()){if(nums[cur] != 0){dest++;swap(nums[dest],nums[cur]);}cur++;}}
};

5.算法总结

这个方法是快排算法中,数据划分过程的重要一步。如果将快排算法拆解的话,这一段小代码就是实现快排算法的核心步骤

http://www.dtcms.com/wzjs/805444.html

相关文章:

  • 南昌seo网站管理网站群cms
  • dw自己做网站厦门网站建设方案开发
  • 茂名做网站dyieewordpress主题 企业
  • ip做网站域名自己的网站怎么做商城
  • 淘宝联盟里的网站推广怎么做合作网站开发
  • 大连网站推广爱得科技wordpress 近期文章 代码
  • 珠海网站建设 金碟网站备案人可以改吗
  • 公司网站数据分析搜索seo引擎
  • 兰州网站seo按天计费做网站为什么要用固定ip
  • 湖州民生建设有限公司网站房地产分销平台有哪些
  • 宁波企业网站建设公司led外贸网站
  • 网站开发前端和后端用什么语言哪个网站做餐饮推广最好
  • 大港网站建设ps个人网站的首页界面
  • 自己做网站如何销售中国包装创意设计网
  • 昆山企业网站建设深圳优质网站建设案例
  • 网站建设保障措施固原市住房和城乡建设厅网站
  • 我国网站建设的不足打开这个网站
  • 电商平台建设做网站如何去掉网站后缀wordpress
  • 12306网站为什么做不好怎么推广自己的微信
  • 极速网站建设定制多少钱wordpress php 文件
  • 网站动画用什么程序做岳阳seo招聘
  • 途牛的旅游网站是谁做的太原微商网站建设
  • 网站开发公司专业html5的网站
  • wordpress展开收起全文手机端网站怎么做seo
  • 外贸专业网站制作阿里云 网站建设
  • 网站建站主机wordpress插件修改
  • 东莞建设教育网站多种郑州网站建设
  • 遵义网站建设苏州seo关键词排名
  • 建设局网站江桥网站建设
  • 外贸国际网站推广网站开发指什么