代码拉取完成,页面将自动刷新
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 移除0
void moveZeroes(vector<int> &nums)
{
vector<int> res(nums.size(), 0);
int k = 0;
for (int i : nums)
{
if (i != 0)
{
res[k] = i;
k++;
}
}
nums = std::move(res);
}
// 盛水最多的容器
int maxArea(vector<int> &height)
{
int l = 0, r = height.size() - 1;
int res = 0;
while (l < r)
{
int area = std::min(height[l], height[r]) * (r - l);
res = std::max(area, res);
if (height[l] <= height[r])
l++;
else
r--;
}
return res;
}
// 三数之和
vector<vector<int>> threeSum(vector<int> &nums)
{
typedef vector<vector<int>> vvi;
vvi res;
std::sort(nums.begin(), nums.end());
int i = 0;
for (; i < nums.size() - 2; i++)
{
int l = i + 1, r = nums.size() - 1;
if (nums[i] > 0)
return res;
// nums[i]去重
if (i > 0 && nums[i] == nums[i - 1])
continue;
while (l <= r)
{
if (nums[i] + nums[l] + nums[r] > 0)
r--;
else if (nums[i] + nums[l] + nums[r] < 0)
l++;
else
{
res.push_back(vector<int>{nums[i], nums[l], nums[r]});
// nums[r]去重
while (l <= r && nums[r] == nums[r - 1])
{
r--;
}
// nums[l]去重
while (l <= r && nums[l] == nums[l + 1])
{
l++;
}
r--;
l++;
}
}
}
return res;
}
int main()
{
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。