力扣原题传送门
目录
题解
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int sum = nums.size();
int headptr{};
int endPtr{ sum - 1};
int num1{};
int num2{};
std::sort(nums.begin(), nums.end());
while (headptr != (sum - 1) || endPtr/* != 0*/) {
num1 = nums[headptr];
num2 = nums[endPtr];
if (num2 > target)
{
endPtr--;
}
else if (num1 + num2 > target)
{
endPtr--;
}
else if (num1 + num2 < target)
{
headptr++;
}
else if (num1 + num2 == target)
{
break;
}
}
return vector<int> { headptr, sum - endPtr - 1};
}
};
提交
代码链接
learnProject/learnLeetCode/learnLeetcode/1两数之和 at main · 1900Linz/learnProject · GitHub