• two sum


    描述

    Given an array of integers, find two numbers such that they add up to a specific target number.
    The function twoSum should return indices of the two numbers such that they add up to the target, where
    index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not
    zero-based.
    You may assume that each input would have exactly one solution.
    Input: numbers={2, 7, 11, 15}, target=9
    Output: index1=1, index2=2

    vector<int > twoSum( vector<int> &num, int target) {
        unordered_map<int , int> mapping ;
        vector<int > result;
        for (int i = 0; i < num.size (); i++) {
        mapping[num[i]] = i;
        }
        for (int i = 0; i < num.size (); i++) {
        const int gap = target - num [i ];
        if (mapping .find (gap ) != mapping. end() && mapping [gap ] > i) {//因为i 之前的都已经遍历过了
            result .push_back (i +1);
            result .push_back (mapping [gap ]+1);
             break;
        }
        }
        return result ;
    }




  • 相关阅读:
    Android流畅度测试
    linux常用操作指令
    SQL语句
    客户端专项测试谈
    我的面经(ing)
    整理面试题
    百度质量部测试开发面试题
    UIResponder响应链
    NSURLSession进行网络请求
    命令行工具打包
  • 原文地址:https://www.cnblogs.com/zhxshseu/p/5284954.html
Copyright © 2020-2023  润新知