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」!

  • 相关阅读:
    C#删除一个字符串数组中的空字符串
    .Net后台获取客户端信息
    Java Script
    ECMAScript闭包,ECMAScript对象
    Java Script函数、变量、对象
    JavaScript3
    JavaScript-2
    变量
    8.22收获
    html
  • 原文地址:https://www.cnblogs.com/seniusen/p/10152830.html
Copyright © 2011-2022 走看看