代码随想录DAY62

这个移动0的问题还是比较重要的 因为涉及到一种思想:快慢指针!

class Solution {

public:

void moveZeroes(vector<int>& nums) {

int slow=0,fast=0;

for(;fast<nums.size();fast++){

if(nums[fast]!=0){

swap(nums[slow],nums[fast]);

slow++;

}

}

for(;slow<nums.size();slow++){

nums[slow]=0;

}

}

};

class Solution {

public:

void rotate(vector<int>& nums, int k) {

int i=0,j=(k%(nums.size())-1);

if(k==0)

return;

reverse(nums.begin(),nums.end());

reverse(nums.begin(),nums.begin()+j+1);

reverse(nums.begin()+j+1,nums.end());

}

};

第二题 主要是左旋和右旋的问题 还是要搞清楚!右旋是先反转整个字符串

class Solution {

public:

int pivotIndex(vector<int>& nums) {

int sum=0;

int leftsum=0;

int rightsum=0;

for(int i=0;i<nums.size();i++){

sum+=nums[i];

}

for(int i=0;i<nums.size();i++){

rightsum=sum-leftsum-nums[i];

if(leftsum==rightsum){

return i;

}

leftsum+=nums[i];

}

return -1;

}

};

!!! 注意注意注意 不排序不能比较数值 !!!!

相关推荐
DdddJMs__1354 分钟前
C语言 | Leetcode C语言题解之第458题可怜的小猪
c语言·leetcode·题解
哎呀呀嗯呀呀10 分钟前
class 031 位运算的骚操作
java·算法·位运算
时清云26 分钟前
【算法】合并两个有序链表
前端·算法·面试
轩辰~43 分钟前
磁盘存储链式结构——B树与B+树
数据结构·b树·算法
2401_857297911 小时前
秋招内推2025-招联金融
java·前端·算法·金融·求职招聘
通信仿真实验室1 小时前
MATLAB使用眼图分析QPSK通信系统接收端匹配滤波后的信号
开发语言·算法·matlab
通信仿真实验室1 小时前
(15)衰落信道模型作用于信号是相乘还是卷积
开发语言·人工智能·算法·matlab
Run with the Wind2 小时前
【2024.9.29练习】R 格式
算法
Jeremy_121382 小时前
三种波束形成方法的区别(MVDR、MMSE以及MSNR波束形成器)
算法
远望樱花兔2 小时前
【d59】【Java】【力扣】146.LRU缓存
java·开发语言·算法