首页 > 其他分享 >两数之和

两数之和

时间:2023-11-26 21:35:59浏览次数:23  
标签:target idx int records val 两数

梦开始的地方,两数之和

巧妙之处在于value做key,idx做val

可能会问:如果value冲突的?即两个一样的值
首先这是两数和问题:

  1. 如果这两个重复的数正好被选上,那么一个记录在map中,一个未记录,没问题
  2. 如果只是一个数倍选上,那么map中的记录会被后续出现的重复数更新,但并不影响(题设有说明)
import copy

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        records = dict()
        for idx, val in enumerate(nums):
            if target - val in records.keys():
                return [records[target - val], idx]
            else:
                records[val] = idx

        return []

标签:target,idx,int,records,val,两数
From: https://www.cnblogs.com/doglovesfish/p/17858004.html

相关文章

  • 13--2. 两数相加
    【首先,题目是给了两个链表,我们可以直接使用哦】我们要自己创建一个链表来存储结果//将第一个节点的值初始化为0,用来指向头指针(意思就是pre后面的那个值才是头指针),返回结果LinkNodepre=newLinkNode(0);//cur是一个可移动的指针,作为储存两个数之和的位置LinkNodecur=......
  • [1] 两数之和
    1/**2*@param{number[]}nums3*@param{number}target4*@return{number[]}5*/6vartwoSum=function(nums,target){7constll=nums.length8constnumsMap=newMap()9for(leti=0;ll-1;i++){10constcompleme......
  • [2] 两数相加
    1/**2*@param{ListNode}l13*@param{ListNode}l24*@return{ListNode}5*/6varaddTwoNumbers=function(l1,l2){7letaddOne=08letsum=newListNode('0')9lethead=sum10while(addOne||l1||l2){11......
  • 两数相加
    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。 示例1:输入:l1=[2,4,3],l2=[5,6,4]输出......
  • 代码随想录算法训练营第六天 |● 哈希表理论基础 ● 242.有效的字母异位词 ● 349.
    今日学习的文章链接和视频链接https://programmercarl.com/哈希表理论基础.html242.有效的字母异位词varisAnagram=function(s,t){if(s.length!==t.length)returnfalseletmap=newMap();for(letcharofs){if(!map.get(char)){......
  • leetcode hot 100-01 两数之和
    题目:两数之和难度:简单题目地址:https://leetcode.cn/classic/problems/two-sum/description/过程一,因为难度是简单,就没有仔细审题,以为返回两个数就好,使用双指针,逻辑如下:对数组排序双指针分别指向头和尾两数之和大于target,尾部指针-1两数之......
  • 两数相加
       题目理解:这题目的意思是传入这个方法里的是,两个逆序的链表,而题目给出的示例,只是输入的值,则运算的方法里返回值也是逆序的就好。Definitionforsingly-linkedlist. structListNode{   intval;   ListNode*next;   ListNode():val(0),......
  • leetcode 第一题 两数之和
    题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 初级阶段Java ......
  • L1-两数之和
    题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。示例:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。【首先想到的是双重for......
  • 167. 两数之和 II - 输入有序数组
    给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2],则1<=index1<index2<=numbers.length。以长度为2的整数数组[index1,inde......