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

}

};

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

相关推荐
氷泠5 分钟前
路径总和系列(LeetCode 112 & 113 & 437 & 666)
leetcode·前缀和·深度优先·路径总和
橘颂TA29 分钟前
【剑斩OFFER】算法的暴力美学——力扣 130 题:被围绕的区域
算法·leetcode·职场和发展·结构与算法
一分之二~31 分钟前
回溯算法--解数独
开发语言·数据结构·c++·算法·leetcode
不如语冰1 小时前
AI大模型入门1.1-python基础-数据结构
数据结构·人工智能·pytorch·python·cnn
程芯带你刷C语言简单算法题1 小时前
Day48~对于高度为 n 的台阶,从下往上走,每一步的阶数为 1,2,3 中的一个。问要走到顶部一共有多少种走法
c语言·开发语言·学习·算法·c
休息一下接着来1 小时前
C++ 设计模式:Pimpl(Pointer to Implementation)
c++·算法·设计模式
未来之窗软件服务1 小时前
计算机等级考试—哈希线性探测解答—东方仙盟
数据结构·哈希算法·散列表·计算机软考·仙盟创梦ide·东方仙盟
苦藤新鸡1 小时前
18.矩阵同行同列全置零
数据结构·c++·算法·力扣
副露のmagic1 小时前
更弱智的算法学习 day48
学习·算法