C/C++教程

LeetCode每日一练

本文主要是介绍LeetCode每日一练,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

LeetCode每日一练

two_sum

/*
 * @Author: fox
 * @Date: 2022-04-18 20:46:49
 * @LastEditors: fox
 * @LastEditTime: 2022-04-18 21:49:00
 * @Description: https://leetcode.com/problems/two-sum/
 */
const twoSum = (nums, target) => {
    // 1 创建一个 Map
    const map = new Map()
    // 2 遍历数组 nums
    for (let i = 0; i < nums.length; i++) {
        // 2.1 计算 target 与 nums[i] 的差值
        const res = target - nums[i]
        // 2.2 如果差值在map中,返回数组
        if (map.has(res)) {
            return [map.get(res), i]
        }
        // 2.3 如果差值不在map中,将nums[i]和i存储到map中
        map.set(nums[i], i)
    }
    return []
};

const nums = [2, 7, 11, 15]
const target = 9
const res = twoSum(nums, target)
console.log(res) // [ 0, 1 ]
这篇关于LeetCode每日一练的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!