• 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;
    }
  • 相关阅读:
    CF1458D
    CF1415F
    CF612F
    部分博客请移步Gitbub
    Vlc视频插件遮挡弹出框
    kubernetes容器编排YAML详解
    Kubernetes核心技术之Pod
    Kubeadm搭建K8S集群
    博客配套工程公开
    Modelsim联合Matlab搭建FPGA图像仿真平台
  • 原文地址:https://www.cnblogs.com/pengpenghappy/p/3866357.html
Copyright © 2020-2023  润新知