zoukankan      html  css  js  c++  java
  • Two Sum

    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

    #include "stdafx.h"
    #include <string>
    #include <iostream>
    #include <vector>
    #include <map>
    
    using namespace std;
    
    class Solution{
    public:    
        vector<int> twoSum(vector<int> &numbers, int target) 
        {
            map<int, int> mapping;
            vector<int> result;
            for (int i = 0; i < numbers.size(); i++)
            {
                // key: number, value: index
                mapping[numbers[i]] = i;
            }
            for (int i = 0; i < numbers.size(); i++)
            {
                int searched = target - numbers[i];
                
                // if find the number, store the index value
                if (mapping.find(searched) != mapping.end())
                {
                    // not the number itself
                    if (i != mapping[searched])
                    {
                        result.push_back(i + 1);
                        result.push_back(mapping[searched] + 1);
                        break;
                    }
                }
            }
            return result;
        };
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        Solution *sln = new Solution();
        vector<int> svec;
        svec.push_back(3);
        svec.push_back(4);
        svec.push_back(2);
    
        vector<int> vres = sln->twoSum(svec, 6);    
    
        return 0;
    }
  • 相关阅读:
    FIS3常用配置
    PC端模拟移动端访问 字体大小限制
    table布局 防止table变形 td固定宽度
    fis3 scss 版本报错
    移动端布局方案 网易
    提示浏览器版本低
    JS Math.round()方法原理
    margin 负边距应用
    box-shadow IE8兼容处理
    border-radius IE8兼容处理
  • 原文地址:https://www.cnblogs.com/pengpenghappy/p/3866357.html
Copyright © 2011-2022 走看看