zoukankan      html  css  js  c++  java
  • [leetcode 1] Two Sum

    1 题目

    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

    2 方法

    循环遍历两遍,系统显示时间超了。提示使用hashmap。

    那么时间就是O(n),空间也是O(n)。

    3 代码

    参考了 http://www.xuebuyuan.com/1547526.html

    public int[] twoSum(int[] numbers,int target){    
            int[] indexs = {0,0};
            HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
            for (int i = 0; i < numbers.length; i++) {
                if(!map.containsKey(numbers[i])){
                    map.put(target-numbers[i],i);
                }else{
                    indexs[0] = map.get(numbers[i]) + 1;
                    indexs[1] = i + 1;
                }
            }
            return indexs;
    }
  • 相关阅读:
    字段操作
    数据操作
    表操作
    数据库操作
    如何连接mysql
    mysql新增用户和修改用户密码
    表和库和服务器的关系
    MySql的复合类型
    yum软件源
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/lingtingvfengsheng/p/4230202.html
Copyright © 2011-2022 走看看