• 1-Two Sum


    题目:

    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

      给一个整型数组,找出两个数使得他们加起来的和等于特定的目标数。

      函数twoSum要返回加起来等于目标数的两个数的索引,其中index1必须小于index2。请注意你返回的结果(index1和index2)不是以0开始的。

      你可以假定任一个输入会有一个确定的结果

      输入:numbers={2,7,11,15} , target=9

      输出:index1=1 , index2=2

    思路:

    1.将数组存入hash中,以数组元素值为hash键,以数组元素索引为hash值

    2.相同的数组元素,存储索引值大的元素

    public class Solution {
        public int[] twoSum(int[] numbers,int target) {
            int[] result=new int[2];   //最终结果
            //存储数组的的HashMap
            HashMap<Integer,Integer> m=new HashMap<Integer,Integer>();           
            for(int i=0;i<numbers.length;i++) {
                m.put(numbers[i],i);    
            }
            for(int i=0;i<numbers.length;i++) {
                int temp=target-numbers[i];
                if(m.containsKey(temp)&&i<m.get(temp)) {
                    result[0]=i+1;
                    result[1]=m.get(temp)+1;
                }
            }
            return result;
        }
    }    
        
    

      

  • 相关阅读:
    Vue学习笔记(4)-带参数路由,嵌套路由,编程式导航
    JS数组&&数组对象去重
    Vue学习笔记(3)-品牌管理系统
    Vue学习笔记(2)-组件生命周期
    负margin
    CSS布局奇淫巧计之-强大的负边距
    由浅入深漫谈margin属性
    双飞翼布局和圣杯布局的对比
    圣杯布局的实现过程
    CSS实现垂直居中的5种方法
  • 原文地址:https://www.cnblogs.com/hwu2014/p/4401870.html
Copyright © 2020-2023  润新知