zoukankan      html  css  js  c++  java
  • 56.两数之和

    描述

    给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。

    你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。

    样例

    给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1].

    class Solution {
    public:
        /**
         * @param numbers: An array of Integer
         * @param target: target = numbers[index1] + numbers[index2]
         * @return: [index1, index2] (index1 < index2)
         */
        vector<int> twoSum(vector<int> &numbers, int target) {
            // 哈希表
            unordered_map<int, int> m;
            vector<int> res;
            for (int i = 0; i < numbers.size(); ++i) {
                m[numbers[i]] = i;
            }
            for (int i = 0; i < numbers.size(); ++i) {
                int t = target - numbers[i];
                if (m.count(t) && m[t] != i) {
                    res.push_back(i);
                    res.push_back(m[t]);
                    break;
                }
            }
            return res;
        }
    };
    
  • 相关阅读:
    每日博客
    每日博客之十一月读书笔记1
    每日博客
    今日收获
    今日收获
    今日收获
    动手动脑10.21
    今日收获
    今日收获
    8月21日
  • 原文地址:https://www.cnblogs.com/narjaja/p/10030835.html
Copyright © 2011-2022 走看看