代码随想录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;

}

};

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

相关推荐
算AI26 分钟前
重绘多孔世界的蓝图:GAN助力多孔材料的数字重构
人工智能·深度学习·算法·机器学习·生成对抗网络·ai
ZPC821029 分钟前
手柄替代键盘
人工智能·算法·性能优化·机器人
xvhao20131 小时前
P4084 [USACO17DEC] Barn Painting G 题解
数据结构·c++·算法·深度优先·动态规划
We་ct1 小时前
LeetCode 190. 颠倒二进制位:两种解法详解
前端·算法·leetcode·typescript
禹中一只鱼1 小时前
【力扣热题100学习笔记】 - 双指针
java·笔记·学习·leetcode·贪心算法
wangchunting1 小时前
算法-二分查找
java·数据结构·算法
月落归舟1 小时前
帮你从算法的角度来认识二叉树---(一)
数据结构·算法·二叉树
Kk.08021 小时前
数据结构|排序算法(三)堆排序
java·数据结构·排序算法
龙文浩_1 小时前
AI深度学习演进之路:从机器学习到大模型的范式变革
人工智能·深度学习·神经网络·算法·回归·线性回归
LTphy1 小时前
P3131 [USACO16JAN] Subsequences Summing to Sevens S
算法·前缀和·蓝桥杯