zoukankan      html  css  js  c++  java
  • leetcode : two sum 解题报告

    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.

    Example:Given nums = [2, 7, 11, 15], target = 9,

    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1].

    方法一:
    two pointers


    方法二: hashmap

    public class Solution {
        public int[] twoSum(int[] nums, int target) {
            int[] result = new int[2];
            result[0] = result[1] = -1;
            if(nums == null || nums.length < 2) {
                return result;
            }
            for(int i = 0; i < nums.length - 1; i++) 
              for(int j = i + 1; j < nums.length; j++) {
                  if(nums[i] + nums[j] == target) {
                      result[0] = i;
                      result[1] = j;
                      break;
                  }
              }
              return result;
        }
    }
    
    public class Solution {
        public int[] twoSum(int[] nums, int target) {
            int[] result = new int[2];
            result[0] = result[1] = -1;
            if(nums == null || nums.length < 2) {
                return result;
            }
            Map<Integer, Integer> map = new HashMap<Integer,Integer>();
            for(int i = 0 ; i < nums.length; i++) {
                if(map.containsKey(target - nums[i])) {
                    result[0] = map.get(target - nums[i]);
                    result[1] = i;
                    break;
                } else {
                    map.put(nums[i],i);
                }
            }
            return result;
        }
    }
    
  • 相关阅读:
    配置管理puppet
    ruby安装
    angularjs 安装篇
    idea 快捷键
    rabbitmq java queue
    spring cloud bus rabbitmq
    rabbitmq 安装篇
    spring cloud eureka
    spring cloud config
    postgre 导入sql文件
  • 原文地址:https://www.cnblogs.com/superzhaochao/p/6358435.html
Copyright © 2011-2022 走看看