zoukankan      html  css  js  c++  java
  • LeetCode 1——两数之和

    1. 题目

    2. 解答

    • C++

    遍历数组,将数组中的元素和索引分别作为 unordered_map 的键和值,如果目标值和当前元素的差已经存于在map 的键中,即找到结果。

    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            
            unordered_map<int, int> tabel;
            vector<int> index;
            int n = nums.size();
            for (int i = 0; i < n; i++)
            {
                int val = target - nums[i];
                
                if (tabel.count(val) == 1)
                {
                    index.push_back(tabel[val]);
                    index.push_back(i);
                    return index;
                }
                else
                {
                    tabel[nums[i]] = i;
                }
            }
        }
    };
    
    • Python

    遍历数组,将数组中的元素和索引分别作为字典的键和值,如果目标值和当前元素的差已经存于在字典的键中,即找到结果。

    class Solution:
        def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            hash_table = {}       
            
            for index, value in enumerate(nums):
                
                num = target - value
                
                if num in hash_table:
                    return [hash_table[num], index]
                
                hash_table[value] = index
    

    获取更多精彩,请关注「seniusen」!

  • 相关阅读:
    Objective-c Category(类别)
    协议(porotocol)
    类的通用格式
    objective-c 强大的布尔类型
    C 语言函数指针
    c while 循环
    jQuery的deferred对象详解
    exploring the http Object
    div+css定位position详解
    如何给变量取个简短且无歧义的名字
  • 原文地址:https://www.cnblogs.com/seniusen/p/10152830.html
Copyright © 2011-2022 走看看