小目标 ---第一天

最近的三分钟热度:美好的年纪,美好的青春年华。要么得个漂浪脸蛋,要么得个精湛技术。

定下小目标:五点半下班,在餐厅吃晚餐,走跑回来,七点坐电脑前,刷一道leetcode,从简单开始。

第一天:

题目:1. 两数之和 

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

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

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

我的解答:

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        minus = map(lambda x:target-x,nums)   //得到数组  目标数-数组中每个值
        for item,i in enumerate(minus):
            if i in nums:
                temp = target-i               
                if i==temp and nums.count(i)>1:   //target=target/2+target/2
              //第二个加数的位置一定在第一个加数后面,用切片直接从第一个加数后面找第二个加数,更快
                    return [item,minus[item+1:].index(temp)+item+1]   
                elif i==temp:     //target/2 在数组中只有一个
                    continue
                else:     
                    return [item,minus[item+1:].index(temp)+item+1]

时间:

不知道为什么...

第一天over,今天听了一天王心凌的爱你,很开心 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值