【leetcode 刷题笔记1】hash table 哈希算法

哈希表

 

1、Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

/*Example*/
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

C++解法

class Solution {
public:
    vector<int> twoSum(vector<int> &numbers, int target)  //声明函数twoSum 为int类型的数组; 函数传入 int类型的数组 &numbers, int类型的 target
    {
        unordered_map<int,int> m; //
        vector<int> result;
        for(int i=0;i<numbers.size();i++)
        {
            if(m.find(numbers[i])==m.end())
            {
                m[target-numbers[i]]=i;
            }
            else
            {
                result.push_back(m[numbers[i]]);
                result.push_back(i);
                break;
            }
        }
        return result;
    }
};

 

    原文作者:哈希算法
    原文地址: https://blog.csdn.net/wb790238030/article/details/84860599
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞