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

两数之和

时间:2022-08-24 23:14:39浏览次数:59  
标签:right nums sum two dict 两数 left

给你一个有序列表(升序),一个目标值。写代码返回列表中和为目标值的2个数的下标(该组合唯一)
input [2,7,11,15], t = 18
output 1,2

双指针法

class Solution:
    def two_sum(self,nums,t):
        left = 0
        right = len(nums) - 1
        while left < right:
            tmp = nums[left] + nums[right]
            if tmp == t:
                return left,right
            elif tmp > t:
                right -= 1
            else:
                left += 1
        return None
        
nums = [2,7,11,15]
t = 18
Solution().two_sum(nums,t)

hashmap 方法

class Solution:
    def two_sum(self,nums,t):
        dict = {}
        for i in range(len(nums)):
            if t - nums[i] not in dict:
                dict[nums[i]] = i
            else:
                return [dict[t-nums[i]],i]
            
nums = [2,7,11,15]
t = 18
Solution().two_sum(nums,t)

标签:right,nums,sum,two,dict,两数,left
From: https://www.cnblogs.com/ray-mmss/p/16622588.html

相关文章

  • #前端算法救赎系列#LeetCode01.两数之和
    1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。示例1:输入:nums=[2,7,11,1......
  • 两数相加
    题目给你两个 非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表......
  • 两数之和
    题目给定一个整数数组nums 和一个整数目标值target,请你在该数组中找出和为目标值target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个......
  • LeetCode_1. 两数之和
    写在前面难度:简单原文链接:https://leetcode-cn.com/problems/two-sum/题目 给定一个整数数组nums 和一个目标值target,请你在该数组中找出和为目标值的那 两......
  • 哈希表4:两数之和(1)
    本题如下:(链接:https://leetcode.cn/problems/two-sum/)题目:给定一个整数数组nums 和一个整数目标值target,请你在该数组中找出和为目标值target 的那 两个 整数,并返......
  • leetcode 热题100刷题-两数之和
    题题号:1题目:两数之和难度:简单链接:https://leetcode.cn/problems/two-sum/2022/08/16答案算法思路从第i个数字开始,之后的每个数字都与第i个数字相加,判断是否与目标值......
  • leetcode1-两数之和
    两数之和暴力遍历classSolution{publicint[]twoSum(int[]nums,inttarget){intn=nums.length;for(inti=0;i<n;i++){......
  • leetcode2-两数相加
    两数相加循环,每次相加都new一个新的节点classSolution{publicListNodeaddTwoNumbers(ListNodel1,ListNodel2){ListNodehead=null,tail=nu......