for循环那点事儿_CodingPark编程公园
发布日期:2021-06-29 15:47:25 浏览次数:2 分类:技术文章

本文共 848 字,大约阅读时间需要 2 分钟。

引入题目

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

1 python 列表遍历方式(含下标)

for i,value in enumerate(['A', 'B', 'C'])       print(i,value)

结果展示

在这里插入图片描述

2 暴力枚举

class Solution:    def twoSum(self, nums: List[int], target: int) -> List[int]:        n = len(nums)        for i in range(n):            for j in range(i + 1, n):                if nums[i] + nums[j] == target:                    return [i, j]                return []

3 哈希表

class Solution:    def twoSum(self, nums: List[int], target: int) -> List[int]:        hashtable = dict()        for i, num in enumerate(nums):            if target - num in hashtable:                return [hashtable[target - num], i]            hashtable[nums[i]] = i        return []

在这里插入图片描述

转载地址:https://codingpark.blog.csdn.net/article/details/108926312 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Int -> List | List -> Int _ CodingPark编程公园
下一篇:自然语言工程师心得概述_CodingPark编程公园

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月06日 13时11分41秒