zoukankan      html  css  js  c++  java
  • 1. Two Sum

    Problem statement:

    Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    You may assume that each input would have exactly one solution, and you may not use the same element twice.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,
    
    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1].

    Solution one: hash table

    This is a very classical question. It is asked most times in interview. According to the description, we need to return the indices of two numbers whose sum is equal to the target. By checking and inserting current number into a hash table, we can find the answer or for following searching.

    Time complexity is O(n). Space complexity is O(n).

    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            unordered_map<int, int> hash_table; // <sum, index>
            for(int i = 0; i < nums.size(); i++){
                if(hash_table.count(target - nums[i])){
                    return {hash_table[target - nums[i]], i};
                } else {
                    hash_table[nums[i]] = i;
                }
            }
            return {0, 0};
        }
    };
  • 相关阅读:
    Spring学习笔记(8)——依赖注入
    JS中Ajax的实现部分
    Hibernate4之注解零配置
    SQL中的DDL、DML、DCL、TCL
    冷启动与热启动
    双击退出
    显示或者隐式
    Android笔记01--手机振动
    github与pycharm
    正则re模块--入门
  • 原文地址:https://www.cnblogs.com/wdw828/p/6881422.html
Copyright © 2011-2022 走看看