概述
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int i = 0,j = nums.size()-1;
while(i < j){
int s = nums[i]+nums[j];
if(s<target){
i++;
}else if (s>target){
j--;
}else{
return {nums[i],nums[j]};
}
}
return {};
}
};
哈希:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_set<int>s;
for(int x:nums){
if(s.count(target-x)){
return {x,target-x};
}
s.insert(x);
}
return {};
}
};
最后
以上就是激情电话为你收集整理的剑指 Offer 57. 和为s的两个数字(双指针/哈希)c++的全部内容,希望文章能够帮你解决剑指 Offer 57. 和为s的两个数字(双指针/哈希)c++所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复