首页 > 其他 > 详细

第一题leetCode 两数之和

时间:2020-04-07 10:31:59      阅读:65      评论:0      收藏:0      [点我收藏+]

1,给定一个整型的数组,给定一个值,当数据中两个数之和等于给定的值时返回,两个整数在数组中的下标

我的思路:两层遍历,如果两个的数的和相加,等于给定的值,返回一个整形数组,数组内容为当前的下标

暴力遍历的方法比较简单,不做罗列

 

新思路:利用hashmap

声明一个hashmap,key为元素的值,value为元素的下标,循环数组

如果map中不存在target-当前值得key则,存入map,继续遍历,

如果存在key=target-当前值  直接返回当前下标和key值为差值的下标

HashMap<Integer,Integer> map = new HashMap<>();
for (int i = 0;i<nums.length;i++){
if(!map.containsKey(target-nums[i])){
map.put(nums[i],i);
}else{
int result = map.get(target-nums[i]);
tagtNums[0] = result;
tagtNums[1] = i;

}
}

第一题leetCode 两数之和

原文:https://www.cnblogs.com/dubin/p/12574908.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!