1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
用hashmap可以遍历一次就能找到。
hashmap里面保存key:‘target-当前值’,value:当前值的下标
1.map的Key里面有没有和当前值和为target的
2.若不满足步骤1,把当前值期待的数和当前下标存进去
3.若满足步骤1,即满足要求,记录下标返回。
public int[] twoSum (int[] numbers, int target) {// write code hereHashMap<Integer,Integer> map = new HashMap<>();int[] res = new int[2];for(int i = 0; i < numbers.length; i++){ainsKey(numbers[i])){res[0] = (numbers[i])+1;res[1] = i+1;}else{map.put(target-numbers[i],i);}}return res;}
本文发布于:2024-01-27 21:09:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063609922657.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |