LeetCode(剑指 Offer)- 57. 和为 s 的两个数字

Posted 放羊的牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 57. 和为 s 的两个数字相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:

解题思路:

相关企业

  • 腾讯(Tencent)
  • 谷歌(Google)
  • 华为
  • Facebook
  • 蘑菇街
  • 一亩田
  • 百度
  • 网易
  • 阿里巴巴
  • 浦发银行

AC 代码

  • Java
// 解决方案(1)
class Solution 
    public int[] twoSum(int[] nums, int target) 
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) 
            set.add(nums[i]);
        
        for (int i = 0; i < nums.length; i++) 
            if (set.contains(target - nums[i])) 
                return new int[]nums[i], target - nums[i];
            
        
        return null;
    


// 解决方案(2)
class Solution 
    public int[] twoSum(int[] nums, int target) 
        int i = 0, j = nums.length - 1;
        while(i < j) 
            int s = nums[i] + nums[j];
            if(s < target) i++;
            else if(s > target) j--;
            else return new int[]  nums[i], nums[j] ;
        
        return new int[0];
    
  • 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 ;
    
;

以上是关于LeetCode(剑指 Offer)- 57. 和为 s 的两个数字的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode剑指 Offer 57 - II. 和为s的连续正数序列(双指针)

LeetCode Algorithm 剑指 Offer 57 - II. 和为s的连续正数序列

LeetCode(剑指 Offer)- 57. 和为 s 的两个数字

LeetCode(剑指 Offer)- 57. 和为 s 的两个数字

[LeetCode]剑指 Offer 57 - II. 和为s的连续正数序列

LeetCode剑指offer57 II和为s的连续正数序列(用vector模拟滑动窗口)