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

全国酒店网站建设山东一级造价师

全国酒店网站建设,山东一级造价师,上海频道网站建设公司,网页制作模板主题文章目录 题目解析讲解算法原理【双指针算法思路】(数组下标充当指针)如何划分和执行过程大致 代码详情 题目解析 题目链接:https://leetcode.cn/problems/move-zeroes/description/ 题目意思解析 把所有的零移动到数组的末尾保持非零元素的相对顺序 理解了这两层…

文章目录

  • 题目解析
  • 讲解算法原理
    • 【双指针算法思路】
    • (数组下标充当指针)
    • 如何划分和执行
    • 过程大致
  • 代码详情

题目解析

在这里插入图片描述
题目链接:https://leetcode.cn/problems/move-zeroes/description/

  1. 题目意思解析
  • 把所有的零移动到数组的末尾
  • 保持非零元素的相对顺序
    理解了这两层的含义,这道题也就完成一半了。

讲解算法原理

解题思路:
题目归类数组划分:将一个数组划分成若干个区间
在这里插入图片描述

解题方法:

【双指针算法思路】

(数组下标充当指针)

在这里插入图片描述

定义两个指针:dest,cur。

  • cur:从左往右扫描数组
  • dest:已处理区间内,非零元素的最后一个一个位置
    作用:两个指针可以划分成三个区间
  • (0,dest) :非0区间
  • (dest+1,cur-1):0区间
  • (cur,n-1):待处理区间

如何划分和执行

  • cur初始化0,dest初始化-1

  • cur从左向右遍历,遇到0元素不做处理,遇到非0元素时,让dest+1,然后非零元素与dest所指元素进行交换(将非零元素直接归类到【0,dest】)
    ![[Pasted image 20250225103906.png]]

  • cur遍历到n-1时,结束

过程大致

![[Pasted image 20250225104208.png]]

联想思想:快排

  • cur指针先行遍历寻找非零元素
    • 零元素:不做处理,往后遍历
    • 非零元素:让dest++,然后dest所指向元素和cur元素进行交换
  • 当cur遍历到数组末尾时候,结束。

代码详情

  • C
`void swap(int*nums,int a,int b)
{int tmp=0;tmp=nums[a];nums[a]=nums[b];nums[b]=tmp;
}
void moveZeroes(int* nums, int numsSize) {int n=numsSize;int dest=-1;for(int cur=0;cur<numsSize;cur++){if(nums[cur]){swap(nums,dest+1,cur);dest++;}}}`
  • C++
`class Solution {
public:void moveZeroes(vector<int>& nums) {for(int cur=0,dest=-1;cur<nums.size();cur++){if(nums[cur]){swap(nums[++dest],nums[cur]);}}}
}
http://www.dtcms.com/a/497261.html

相关文章:

  • 营销网站怎么做建网站上海
  • wsl+vscode开发.net项目
  • 国内优秀网站赏析如何优化wordpress网站
  • VS2022 使用打开文件夹的方式调试CMake项目的动态库
  • PBR技术重点
  • 社区问答网站开发网络规划与设计是什么专业
  • 常熟有哪些网站建设公司网站运营维护
  • 电子商城网站开发价格建站行业有哪些
  • 智能网站建设维护软件平面构成作品网站
  • 做的很不好的网站医疗网站的运营
  • 如何创建div做网站曲靖建设局网站
  • 众划算网站开发wordpress课堂主题
  • C语言 函数指针和指针函数区别 - C语言零基础入门教程
  • 闽侯县网站建设做海报图片的网站
  • 国家网站备案网站如何进行网络推广
  • python+网站开发实例教程深圳景观设计公司10强
  • 网站开发制作费入会计科目wordpress自动判断当前分类并获取tag标签
  • 新手学做网站这本书wordpress 后台链接
  • 站长之家最新网站怎样开网店
  • 曼朗策划网站建设室内设计效果图报价
  • 做广告在哪个网站做效果人流最多WordPress代码改silder
  • 怎么做wood网站教程淄博做网站的公司排名
  • 沈阳网站开发技术公司本机网站建设
  • java求职学习day42
  • 淘宝官方网站登录页面网站备案目的
  • wordpress+中文站天津做网站认准津坤科技
  • 【开题答辩实录分享】以《智慧工地管理服务系统》为例进行答辩实录分享
  • 必贝特开启申购,将在科创板上市,募资金额较需求缩水约5亿元
  • 郑州设计师网站大全做网站优化就是发文章吗
  • 手机微信网站怎么做的好广告联盟下载app