python实现两数之和

枫铃3年前 (2021-08-07)Python267

题目描述

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

代码实现

方法一: 暴力求解

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i in range(len(nums)-1):
            for j in range(i+1, len(nums)):
                while nums[i] + nums[j] == target:
                    return [i,j]
                continue

方法二:hash table

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        checked = dict()
        for index,item in enumerate(nums):
            if item in checked.keys():
                return [checked[item], index]
            checked[target-item] = index
        return [-1, -1]

相关文章

python使用threading模块实现多线程

综述 Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(Global Interpreter Lock...

python文件操作与路径

一.打开和关闭文件 方...

python中sorted()函数的用法

一. 定义 sorted()函数对所有可迭代的对象进行排序操作 二. 语法 sorted(iterable [, key[, reverse]]])...

python去除rpm仓库中同名低版本的包

编程思路 遍历目标路径的rpm包并保存特性包列表; 利用python模块rpmUtils提取RPM包的特征信息:包名 版本号 架构 遍历...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。