ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【蓝桥杯】每天一题,理解逻辑(1/90)【Leetcode 移动零】 [打印本页]

作者: 来自云龙湖轮廓分明的月亮    时间: 11 小时前
标题: 【蓝桥杯】每天一题,理解逻辑(1/90)【Leetcode 移动零】
题目解析


题目链接:https://leetcode.cn/problems/move-zeroes/description/


解说算法原理

解题思绪:
题目归类数组分别:将一个数组分别成若干个区间

解题方法:
【双指针算法思绪】

(数组下标充当指针)


定义两个指针:dest,cur。

如何分别和执行


过程大抵


联想头脑:快排

代码详情


  1. `void swap(int*nums,int a,int b)
  2. {
  3.     int tmp=0;
  4.     tmp=nums[a];
  5.     nums[a]=nums[b];
  6.     nums[b]=tmp;
  7. }
  8. void moveZeroes(int* nums, int numsSize) {
  9.     int n=numsSize;
  10.     int dest=-1;
  11.     for(int cur=0;cur<numsSize;cur++)
  12.     {
  13.         if(nums[cur])
  14.         {
  15.             swap(nums,dest+1,cur);
  16.             dest++;
  17.         }
  18.     }
  19.    
  20. }`
复制代码

  1. `class Solution {
  2. public:
  3.     void moveZeroes(vector<int>& nums) {
  4.         for(int cur=0,dest=-1;cur<nums.size();cur++)
  5.         {
  6.             if(nums[cur])
  7.             {
  8.                 swap(nums[++dest],nums[cur]);
  9.             }
  10.         }
  11.         
  12.     }
  13. };
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4