zoukankan      html  css  js  c++  java
  • 1. 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].

    Solution One:使用两重循环解决
     1 public class Solution {
     2     public int[] twoSum(int[] nums, int target) {
     3         int[] result = {0,1};
     4          for (int i = 0; i < nums.length-1; i++) {
     5              for (int j = i+1; j < nums.length; j++) {
     6                  if (nums[i] + nums[j]==target) {
     7                      result[0]=i;
     8                      result[1]=j;
     9                      return result;
    10                  }
    11              }
    12          }
    13          return result;
    14     }
    15 }
    
    
    


    Solution Two:使用hashmap,把数组装入map中,把数组值定为key,小标定为value,然后对于数组中的每一个key,遍历去寻找其他key,满足相加可以等于target:

     1    public int[] twoSum(int[] numbers, int target) {
     2         Map<Integer,Integer> map = new HashMap<Integer, Integer>();
     3         for (int i=0;i<numbers.length;i++) {
     4             map.put(numbers[i], i);
     5         }
     6         for (int i=0;i<numbers.length;i++) {
     7             int dif = target-numbers[i];
     8             Integer index = map.get(dif);
     9               
    10             if (index!=null && i!=index) {
    11                 if (index>i)
    12                     return new int[]{i,index};
    13                 else
    14                     return new int[]{index,i};
    15             }
    16         }
    17           
    18         return null;
    19     }
    20 }
    
    
    
     
  • 相关阅读:
    java基础(二):补充
    java基础(二):变量和数据类型
    C基础系列(一)
    java基础(一)
    循环小数(Repeating Decimals)
    DNA序列(DNA Consensus String)
    sqlserver~创建函数
    docker简介和安装
    JMeter(6)、实现Java请求
    JMeter(5)、测试数据库
  • 原文地址:https://www.cnblogs.com/crazybuddy/p/5246886.html
Copyright © 2011-2022 走看看