我是靠谱客的博主 激情电话,这篇文章主要介绍剑指 Offer 57. 和为s的两个数字(双指针/哈希)c++,现在分享给大家,希望可以做个参考。

在这里插入图片描述

在这里插入图片描述

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++的全部内容,更多相关剑指内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(109)

评论列表共有 0 条评论

立即
投稿
返回
顶部