每日一练:前端js实现算法之两数之和

这篇具有很好参考价值的文章主要介绍了每日一练:前端js实现算法之两数之和。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一:暴力法

function twoSum(nums, target) {
    for (let i = 0; i < nums.length; i++) {
        for (let j = i + 1; j < nums.length; j++) {
            if (nums[i] + nums[j] === target) {
                return [i, j];
            }
        }
    }
    return null;
}

方法二:哈希表

function twoSum(nums, target) {
    const map = new Map();
    for (let i = 0; i < nums.length; i++) {
        const complement = target - nums[i];
        if (map.has(complement)) {
            return [map.get(complement), i];
        }
        map.set(nums[i], i);
    }
    return null;
}

方法一:使用暴力法,通过两层循环遍历数组来查找符合条件的两个数。

方法二:使用哈希表,通过一次遍历数组,将每个数的值和索引存储在哈希表中,同时查找是否存在符合条件的数。

暴力法的时间复杂度为O(n^2),空间复杂度为O(1);而哈希表的时间复杂度为O(n),空间复杂度为O(n)文章来源地址https://www.toymoban.com/news/detail-834123.html

到了这里,关于每日一练:前端js实现算法之两数之和的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Leetcode每日一题:167. 两数之和 II - 输入有序数组(2023.7.8 C++)

    目录 167. 两数之和 II - 输入有序数组 题目描述: 实现代码与解析: 暴力(超时) 双指针 原理思路: 二分 原理思路:         给你一个下标从  1  开始的整数数组  numbers  ,该数组已按   非递减顺序排列   ,请你从数组中找出满足相加之和等于目标数  target  的两

    2024年02月13日
    浏览(47)
  • 【算法Hot100系列】两数之和

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月05日
    浏览(42)
  • Python算法题集_两数之和

    本文为Python算法题集之一的代码示例 题目1:两数之和 说明:给定一个整数列表(数值不重复) nums 和一个整数目标值 target,请在该数组中找出和为目标值 target 的整数对,并返回数组下标对 简单版【只有一个两数和等于目标值】 加强版【有多个两数和等于目标值】 一日练

    2024年01月23日
    浏览(45)
  • 【优选算法专栏】专题九:链表--------两数之和

    本专栏内容为:算法学习专栏,分为优选算法专栏,贪心算法专栏,动态规划专栏以及递归,搜索与回溯算法专栏四部分。 通过本专栏的深入学习,你可以了解并掌握算法。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:算法从入门到精通 🚚代码仓库:小小unicorn的代码仓库

    2024年02月21日
    浏览(50)
  • LeetCode1两数之和(java实现)梦开始的地方~

    今天我们分享的题目是LeetCode的第一题,两数之和,我们先看下题目描述。 我们之前说过一个做题技巧,就是如果题目描述出现以下题眼:查找元素是否出现过,类似的我们首先先到的是使用哈希表,那么本道题我们应该选择哪一种数据结构呢? 题目要求是返回两个元素的下

    2024年01月18日
    浏览(42)
  • 【算法】Two Sum II - Input Array Is Sorted 两数之和 II - 输入有序数组

    给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 = index1 index2 = numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个

    2024年02月13日
    浏览(50)
  • 【LeetCode】每日一题&&两数之和&&寻找正序数组的中位数&&找出字符串中第一个匹配项的下标&&在排序数组中查找元素的第一个和最后一个位置

    ========================================================================= 主页点击直达: 个人主页 我的小仓库: 代码仓库 C语言偷着笑: C语言专栏 数据结构挨打小记: 初阶数据结构专栏 Linux被操作记: Linux专栏 LeetCode刷题掉发记: LeetCode刷题 算法: 算法专栏  C++头疼记: C++专栏 计算机

    2024年02月08日
    浏览(55)
  • 算法训练第5天|哈希表理论基础 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

    哈希表是根据 关键码 的值而直接进行访问的数据结构。 一般哈希表都是用来快速判断一个元素是否出现集合里。 数组、集合set、映射map 力扣链接 题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意: 若  s  和  t   中每个字符出现的

    2024年02月19日
    浏览(45)
  • 【算法每日一练】——买卖股票的最好时机

    💻个人简介 ⌨️作者简介: 大家好,我是〖雪月清〗 ❄️ 🎉个人主页:〖雪月清〗🌸 📣算法每日一练:带你感受算法百态⭐ 原题传送门 假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益 1.你可以

    2024年01月18日
    浏览(43)
  • 【算法每日一练]-练习篇 #Tile Pattern #Swapping Puzzle # socks

    目录  今日知识点: 二维前缀和 逆序对 袜子配对(感觉挺难的,又不知道说啥)     Tile Pattern Swapping Puzzle  socks          331 题意:有一个10^9*10^9的方格。W表示白色方格,B表示黑色方格。每个(i,j)方的颜色由(i%n,j%n) 决定。我们给出n*n的字符阵列。进行q此查询。每次输入

    2024年01月20日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包