• 167.Two Sum II–Input is sorted


    Description

    Given an array of integers that is already sorted in ascending order, 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.

    Note:

    • Your returned answers (both index1 and index2) are not zero-based.
    • You may assume that each input would have exactly one solution and you may not use the same element twice.

    Example:

    Input: numbers = [2,7,11,15], target = 9
    Output: [1,2]
    Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2.

    一.题目理解

    这道题和第1题极像,区别在于给定的数组已经排好序,输出要求下标加1且顺序递增。

    二.题目解答

    这里直接给出代码
    class Solution {
    public:
        vector<int> twoSum(vector<int>& numbers, int target) {
    
            vector<int> ans;
            unordered_map<int,int> umap;
    
            for(int i = 0; i < numbers.size(); i++) {
    
                if(umap.count(target - numbers[i])) {
    
                    ans.push_back(umap[target - numbers[i]] + 1);
                    ans.push_back(i+1);
                    
                    return ans;
    
                }
                umap[numbers[i]] = i;
    
            }
    
            return ans;
    
        }
    };









  • 相关阅读:
    go-go协程
    linux-pclint代码检测
    linux-32位-交叉编译openssl
    go-json类
    mysql-定时任务
    go-IO操作
    go-异常处理-error-panic-recover
    go-defer语句
    go-select
    go-指针
  • 原文地址:https://www.cnblogs.com/ovs98/p/9846014.html
Copyright © 2020-2023  润新知