001.两数之和

复制代码
/* 题目描述 */
/*************************************************************************************************
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
*************************************************************************************************/

// 第一种方法:执行两次循环,遍历第一个元素与剩下的所有元素是否有等于目标的,再遍历第二个元素与剩下的元素,以此类推
// var twoSum = function(nums, target) {
//     var len = nums.length
//     for (i=0; i<len-1; i++) {
//         for (j=i-1;j<len;j++) {
//             if(nums[i]+nums[j]===target){
//                 return [i,j]
//             }
//         }
//     }
// }

// 第二种哈希
var twoSum = function (nums, target) {
    let obj = {}
    for (i = 0; i < nums.length; i++) {
        temp = target - nums[i]
        if (obj[temp] !== undefined) {
            return [obj[temp], i]
        } else {
            obj[nums[i]] = i
        }
    }
    return []
}
复制代码

转载自:

front_end-demos/src/leetcode at master · fengxianqi/front_end-demos · GitHub

posted @   yeqi7  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示