class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> t=nums;
sort(t.begin(),t.end());
auto i=t.begin(),j=t.end()-1;
while(1){
if(*i+*j==target){
vector<int> res{find(nums.begin(),nums.end(),*i)-nums.begin()+1};
if(*j==*i){
res.push_back(find(nums.begin()+res[0],nums.end(),*j)-nums.begin()+1);
}
else{
res.push_back(find(nums.begin(),nums.end(),*j)-nums.begin()+1);
}
sort(res.begin(),res.end());
return res;
}
else if(*i+*j>target){
j--;
}
else{
i++;
}
}
}
};
LeetCode - 1 Two Sum
最新推荐文章于 2022-11-09 11:23:01 发布