首页 > 其他分享 >写一个方法找出在一个数组中和为目标值的两个整数

写一个方法找出在一个数组中和为目标值的两个整数

时间:2024-12-24 10:34:11浏览次数:7  
标签:Map 找出 const target arr 数组 目标值

在前端开发中,你可以使用JavaScript来编写一个方法,该方法可以找出数组中和为目标值的两个整数。以下是一个简单的示例:

function findTwoSum(arr, target) {
    const map = new Map();

    for (let i = 0; i < arr.length; i++) {
        const complement = target - arr[i];

        if (map.has(complement)) {
            return [map.get(complement), i];
        }

        map.set(arr[i], i);
    }

    return null; // 如果没有找到符合条件的两个数,返回null
}

// 示例用法
const arr = [2, 7, 11, 15];
const target = 9;
const result = findTwoSum(arr, target);
console.log(result); // 输出: [0, 1],表示arr[0] + arr[1] = target

这个findTwoSum函数接受一个数组arr和一个目标值target作为参数。它使用一个Map对象来存储已经遍历过的数组元素及其索引。在遍历数组时,对于每个元素,它计算出目标值与当前元素的差值(即补数),并检查Map中是否已经存在这个补数。如果存在,就返回补数的索引和当前元素的索引;如果不存在,就将当前元素及其索引添加到Map中。如果遍历完整个数组都没有找到符合条件的两个数,则返回null

标签:Map,找出,const,target,arr,数组,目标值
From: https://www.cnblogs.com/ai888/p/18626794

相关文章

  • 写一个方法,找出最接近当前的数的2的指数的数
    在前端开发中,你可以使用JavaScript来编写这个方法。以下是一个示例函数,它接受一个数字作为参数,并返回最接近该数字的2的指数数:functionfindClosestPowerOfTwo(num){//检查输入是否为正数if(num<=0){thrownewError('Inputmustbeapositivenumber');}......
  • 写个方法求出数组中每个元素的二次方,返回新的数组
    在前端开发中,你可以使用JavaScript来实现这个功能。以下是一个简单的函数,它接受一个数组作为参数,并返回一个新数组,其中包含原数组中每个元素的二次方:functionsquareArrayElements(arr){//使用map函数遍历数组,并返回每个元素的二次方returnarr.map(function(element){......
  • 【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
    【C语言】函数指针与指针函数文章目录@[TOC](文章目录)前言一、指针数组二、数组指针三、函数指针四、指针函数五、函数指针数组六、回调函数七、参考资料总结前言使用工具:1.DEVC++提示:以下是本篇文章正文内容,下面案例可供参考一、指针数组优先级关系:()>......
  • 剑指Offer|LCR 012. 寻找数组的中心下标
    LCR012.寻找数组的中心下标给你一个整数数组nums,请计算数组的中心下标。数组中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为0,因为在下标的左侧不存在元素。这一点对于中心下标位于数......
  • 写一个方法将一个未排序的数组中找出任意两数之和等于给定的数
    在前端开发中,你可以使用JavaScript来编写这个方法。以下是一个简单的示例,展示如何在未排序的数组中找出任意两数之和等于给定数的所有组合:functionfindPairsWithSum(arr,targetSum){constpairs=[];constcomplementMap=newMap();for(leti=0;i<ar......
  • 写一个方法找出两个数的最大公约数
    在前端开发中,你可以使用JavaScript来编写一个方法,用于找出两个数的最大公约数(GCD)。以下是一个使用欧几里得算法(Euclideanalgorithm)的示例:functionfindGCD(a,b){//确保a是较大的数,如果不是则交换a和bif(b>a){lettemp=a;a=b;b=temp;}/......
  • 写一个方法找出两个数的最小公倍数
    在前端开发中,你可以使用JavaScript来写一个方法找出两个数的最小公倍数(LeastCommonMultiple,LCM)。最小公倍数可以通过两数的乘积除以它们的最大公约数(GreatestCommonDivisor,GCD)来得到。以下是一个简单的JavaScript函数,用于计算两个数的最小公倍数:functiongcd(a,b){......
  • 写一个方法找到给定数组中任意两个数的最大总和
    在前端开发中,你可以使用JavaScript来编写一个方法,该方法可以找到给定数组中任意两个数的最大总和。以下是一个简单的实现:functionfindMaxSumOfTwoNumbers(arr){if(arr.length<2){thrownewError('数组必须至少包含两个元素');}letmaxSum=arr[......
  • C 数组:索引魔杖点化的数据星图阵列
    一、数组1.数组的概念数组是⼀组相同类型元素的集合;从这个概念中我们就可以发现2个有价值的信息:数组中存放的是1个或者多个数据,但是数组元素个数不能为0。数组中存放的多个数据,类型是相同的。2.数组的分类数组主要分为一维数组和多维数组,其中多维数组里二维数组较为常见......
  • Q1. 使数组元素互不相同所需的最少操作次数
    给你一个整数数组 nums,你需要确保数组中的元素 互不相同 。为此,你可以执行以下操作任意次:从数组的开头移除3个元素。如果数组中元素少于3个,则移除所有剩余元素。注意:空数组也视作为数组元素互不相同。返回使数组元素互不相同所需的 最少操作次数 。 classSo......