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

leetcode hot100刷题日记——3.移动零

在这里插入图片描述
解答:


class Solution {
public:void moveZeroes(vector<int>& nums) {//方法1:把非零数往前提,后面直接补0(易于理解)// int index=0;// for(int i=0;i<nums.size();i++){//     if(nums[i]!=0){//         nums[index++]=nums[i];//     }// }// for(int i=index;i<nums.size();i++){//     nums[i]=0;// }// return;//方法二:左右指针(巧妙)int left=0,right=0;while(right<nums.size()){if(nums[right]!=0){swap(nums[right],nums[left]);left++;//左指针只有交换后才往右挪。why?//当nums[right]不是0的时候//一开始left=right自己交换自己,没啥影响//后面left会跟着right走,但遇到nums[right]是0的时候,只有right走//相当于left保存了0在的位置!!!}right++;//右指针无论什么时候都要往右挪}}
};

时间复杂度:O(N)
空间复杂度:O(1)

思考:这个左右指针的方法,left指针可以保存0在的最左边的位置,从而只需交换操作就可完成。

相关文章:

  • 【Nginx学习笔记】:Fastapi服务部署单机Nginx配置说明
  • laravel 通过Validator::make验证后,如何拿到验证后的值
  • Kali安装配置JAVA环境和切换JDK版本的最详细的过程
  • 自己拥有一台服务器可以做哪些事情
  • AI自媒体封面生成系统
  • 图像分割(2)u-net代码实战——基于视网膜分割
  • ubuntu open shh9.9安装
  • 系统思考:动态性复杂
  • 2025-5-17Vue3快速上手
  • Spring IOCDI————(1)
  • 10.14 Function Calling与Tool Calling终极解析:大模型工具调用的5大核心差异与实战优化
  • 40亿非负整数中找到出现两次的数和所有数的中位数
  • 视觉-和-语言导航的综述:任务、方法和未来方向
  • 20. 自动化测试框架开发之Excel配置文件的IO开发
  • 雷电模拟器安装 KitsuneMagisk (原 Magisk-delta)
  • 当多云管理陷入泥潭,一体化平台如何破局?
  • PCB设计如何用电源去耦电容改善高速信号质量
  • 32、跨平台咒语—— React Native初探
  • leetcode3371. 识别数组中的最大异常值-medium
  • 扫描网络内所有设备的IP地址
  • 秦洪看盘|小市值股领涨,A股交易情绪复苏
  • 波兰总统选举投票开始,将是对亲欧路线的一次严峻考验
  • 聚焦中华文明精神标识,多校专家学者跨学科对话交流
  • 持续降雨存在落石风险,贵州黄果树景区水帘洞将封闭至6月初
  • 中国旅马大熊猫“福娃”和“凤仪”启程回国
  • 15年全免费,内蒙古准格尔旗实现幼儿园到高中0学费