第一天 Two Sum

这道题估计是刷过最多的几道题了吧,第一天,第一题,难度Easy
希望可以坚持
为了增强趣味性,这次换了一种不太熟悉的Python

https://leetcode-cn.com/problems/two-sum/description/

解题思路:
将值和索引值保存起来,在Python里叫字典,Java里叫Map,都是同一回事情。然后在循环的时候,判断目标值减去当前值是否已经在保存的字典里,如果在,那么就可以直接返回。
毕竟是简单难度的题目,特别提到了有且只有一组解,就不用考虑那么多了,直接一次循环就好,时间复杂度O(n)

通过代码:

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        keys = {}
        for index,item in enumerate(nums):
            if target-item in keys:
                return [keys[target-item],index]
            else:
                keys[item] = index

今日收获:
1、从对Python的掌握上,遍历一个列表,可以用enumerate这个函数,可以同时获取索引和值
2、判断一个值是否在字典中,也是可以直接使用in的,这点刚开始学Python还没有转过来,习惯用get方法,判断是否为None了,写起来就显得有点笨拙

明日计划:
解决了两数之和,明天搞一把三数之和吧

今日结语:
不积跬步,无以至千里。
不要急,一天一天的坚持下来。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,147评论 0 10
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    时光清浅03阅读 3,408评论 0 0
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 8,206评论 0 15
  • 亲阅沧海 履历巫山 迷离双眼 空留斑斓 舞榭楼台 酒绿灯红 莺歌燕舞 花茎丽影 世俗春色 尽收眼底 难比梦里 君盈...
    雪落重阳阅读 2,920评论 22 56
  • 枕上一轮月光, 有风自南,披禾苗在他头上。 柳树也羡慕起了槐树, 于是飞起, 层层柳絮,就踩下了坐骑, 铺散在泥土...
    煮熟的河神阅读 2,600评论 0 2