我是靠谱客的博主 隐形酒窝,最近开发中收集的这篇文章主要介绍leetcode刷题笔记——TwoSum----字典dict在python3中的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

leetcode的第一天。。。。

第一道题

        此题需要根据输入一个nums数组和一个数值target来找出数组中两个元素相加起来等于target的两个元素,并将两个元素在数组中的位置输出。

        先列出我的答案:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dict={}
        for i in range(len(nums)):
            if target-nums[i] not in dict:
                dict[nums[i]]=i
            else:
                return(dict[target-nums[i]],i)

下面是输出结果

可以看出输出结果满足题目要求,思路如下:

      

   dict={}  

 #建立一个空的字典(字典的类型说明在文章末尾)

        for i in range(len(nums)):  

 #遍历数组中的每一个元素

#如果数组中的元素与target(9)的差值没有在字典dict中出现,则往字典中添加一个键值对nums[i]=i
 

            if target-nums[i] not in dict:
                dict[nums[i]]=i
            else:

#如果target-num[i]的结果出现在字典dict中,则直接返回nums[i]在数组的位置i和target-nums[i]在数组中的位置dict[target-nums[i]],很明显,dict[target-nums[i]]这个键值是之前就存进字典中的

                return(dict[target-nums[i]],i)

 以数组[2,7,11,15],target=9来举例子,其运行的流程大致为:

首先,建立一个空的字典dict{}

第二步,遍历数组,从第一个元素2开始,判断2与9的差值7在不在dict{}中,因为目前dict{}中还是空的,故if条件target-nums[i] not in dict成立,将nums[0],即数组中第一个元素2以键的形式放进字典中,并将其在数组中的位置0作为对应的值存入字典中,这时,字典dict中多出了一个键值对2:0

第三步,继续遍历,判断第二个元素7是否满足if语句条件,发现7与9的差值2存在于字典dict中,故if条件语句target-nums[i] not in dic不成立,执行else语句,返回dict中键“2”对应的值“0”,以及元素7在原数组中的位置1,即返回0和1。

字典类型dict:

字典是一种映射类型,由若干个“键(key)值(value)”组成,“键”和“值”用冒号分隔开,所有键值对放在一堆大括号{}中,并用逗号分离。其中,“键”必须为不可变类型,在同一个字典中,“键”必须是唯一的,但“值”可以重复。

下面用代码写一段示例:

其中用到三个函数.items().keys().values(),分别返回字典中所有的键值对、所有的键、所有的值。

a_dict={"姓名":"张三","年龄":20,"身高":170,"体重":170}
print(a_dict)
#打印整个字典
print(a_dict.items())
#打印字典中的所有键值对
print(a_dict.keys())
#打印字典中所有的键(keys)
print(a_dict.values())
#打印字典中所有的值(values)

其输出结果为:

最后

以上就是隐形酒窝为你收集整理的leetcode刷题笔记——TwoSum----字典dict在python3中的使用的全部内容,希望文章能够帮你解决leetcode刷题笔记——TwoSum----字典dict在python3中的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部