题解 | #两数之和#

两数之和

https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f

import java.util.*;


public class Solution {
    /**
     *
     * @param numbers int整型一维数组
     * @param target int整型
     * @return int整型一维数组
     */
    public int[] twoSum (int[] numbers, int target) {
        // write code here
        int res[]=new int[0];
		//保存已找到两数之和之一的值和坐标
        HashMap<Integer,Integer> map=new HashMap<>();
	  //循环遍历
        for(int i=0;i<numbers.length;i++){
		  //两数和的一半先存入,然后后续如果找到另一半就可以返回坐标了
            int tmp=target-numbers[i];
		  //没有找到就存入hash
            if(!map.containsKey(tmp)){
                map.put(numbers[i],i);
            }else{
			  //找到了就返回tmp的坐标和另一半坐标i
                return new int[]{map.get(tmp)+1,i+1};
            }
        }

        return res;
    }
}

全部评论

相关推荐

野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务