LeetCode实战练习题目 - Array
2024-10-08 15:09:38
实战练习题目 - Array
class Solution {
public:
int maxArea(vector<int>& height) {
int res = 0;
int i = 0;
int j = height.size() - 1;
while (i < j) {
int area = (j - i) * min(height[i], height[j]);
res = max(res, area);
if (height[i] < height[j]) {
i++;
} else {
j--;
}
}
return res;
}
};
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int n = nums.size();
int numZeroes = 0;
for (int i = 0; i < n; i++) {
numZeroes += (nums[i] == 0);
}
vector<int> ans;
for (int i = 0; i < n; i++) {
if (nums[i] != 0) {
ans.push_back(nums[i]);
}
}
while (numZeroes--) {
ans.push_back(0);
}
for (int i = 0; i < n; i++) {
nums[i] = ans[i];
}
}
};
class Solution {
public:
long long GetCni(int n, int i) {
i = (n - i > i)? i : (n - i);
if(i == 0) return 1;
else return GetCni(n, i-1)*(n-i+1)/i;
}
int climbStairs(int n) {
int i = 0;
int Sum = 0;
while(i <= n/2) {
Sum += GetCni(n-i, i);
i++;
}
return Sum;
}
};
class Solution {
public:
vector<vector<int> > threeSum(vector<int>& nums) {
vector<vector<int> > ret;
vector<int > vtemp;
int len = nums.size();
sort(nums.begin(),nums.end());//sort the input
for(int i=0;i<len-2;i++){
if(i ==0 ||(i>0 && nums[i] != nums[i-1])){
int p1 = i+1, p2 = len-1; // set two pointers
while(p1 < p2){
if(nums[p1] + nums[p2] < -nums[i]){
p1++;
}else if(nums[p1] + nums[p2] == -nums[i]){
if(p1 == i+1){
vector<int > vtemp{nums[i], nums[p1], nums[p2]};
ret.push_back(vtemp);
vtemp.clear();
}else if(nums[p1] != nums[p1-1]){
vector<int > vtemp{nums[i], nums[p1], nums[p2]};
ret.push_back(vtemp);
vtemp.clear();
}
p1++,p2--;
}else{
p2--;
}
}
}
}
return ret;
}
};
最新文章
- 红米3 Flyme5.1.9.5插桩适配长期不定时更新
- Spring事务管理(转)
- Bash脚本15分钟进阶指导
- iOS阶段学习第二天笔记(数据类型与进制)
- 6.SpringMVC注解启用
- 使用Enitity Framework实现增删改查服务中的一些通用思路
- 转:如何学习javascript
- 4种kill某个用户所有进程的方法
- MySQL允许远程访问
- 4MLinux7.0 服务器配置详解 别名TheSSS
- pycharm console 控制台乱码的解决
- ARM汇编指令集
- React Native 之 数据持久化
- PowerDesigner 12.5破解方法
- 使用VMware安装CentOS
- VMware 下快速克隆出多个 Linux 环境
- 【Alpha】测试报告
- AspNet Core 认证
- Java多线程-----匿名内部类创建线程
- vivado第一天从建立文件运行小程序开始