seo首页关键词优化什么是优化师
文章目录
- 一、移动零
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
- 二、复写零
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
- 三、盛水最多的容器
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
- 四、快乐数
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
一、移动零
1、题目讲解
2、讲解算法原理
3、代码实现
class Solution {
public:void moveZeroes(vector<int>& nums) {for(int cur=0,dest=0;cur<nums.size();cur++){if(nums[cur]){swap(nums[cur],nums[dest++]);}}}
};
二、复写零
1、题目讲解
2、讲解算法原理
3、代码实现
class Solution {
public:void duplicateZeros(vector<int>& arr) {int cur=0,dest=-1,n=arr.size();while(cur<n){if(arr[cur]) dest++;else dest+=2;if(dest>=n-1) break;cur++;}if(dest==n){arr[n-1]=0;cur--;dest-=2;}while(cur>=0){if(arr[cur]) arr[dest--]=arr[cur--];else {arr[dest--]=0;arr[dest--]=0;cur--;} } }
};
三、盛水最多的容器
1、题目讲解
2、讲解算法原理
3、代码实现
class Solution {
public:int maxArea(vector<int>& height) {int max=0,begin=0,end=height.size()-1;while(begin<end){if(height[begin]>height[end]){int v1=height[end]*(end-begin);if(v1>max)max=v1;--end;}else{int v2=height[begin]*(end-begin);if(v2>max)max=v2;++begin;}}return max;}
};
四、快乐数
1、题目讲解
2、讲解算法原理
3、代码实现
class Solution {
public:int bigsum(int n ){int sum=0;while(n){int ret=n%10;sum+=ret*ret;n/=10;}return sum;}bool isHappy(int n) {int slow=n,fast=bigsum(n);while(fast!=slow){fast=bigsum(bigsum(fast));slow=bigsum(slow);}return slow==1;}
};