Leetcode刷题第一天

Leetcode刷题第一天


自我怜悯与自我感动都没必要,大学生年度人物没有评上,看别人的奖项,三页纸,而我只有一页纸,有时候真的觉得大学很失败,加上最近在找实习,已经面试了快手,酷家乐,momenta三家公司的计算机视觉岗位,第一天面快手,和面试官聊得很开心,当时心里想稳了稳了,可是一天了都还没有消息,第二天又面了剩下两家公司,酷家乐我是直接倒在了一面,momenta问答环节倒也做的不错,但是无奈我的编程能力真的就像狗屎一样,于是痛定思痛,开始刷leetcode,唉,最后找不到实习也就算了,在这个暑假多看一点书充实一下自己,之前总tm自以为是,以为绩点高就万事大吉,我真是个sb.

一、今天刷的题目是
在这里插入图片描述
我的代码是

class Solution:
    def twosum(self,nums,target):
        lens=len(nums)
        for i in range(lens):
            for j in range(i+1,lens):
                if nums[i]+nums[j]!=target:
                    continue
                return [i,j]
        return []
Solution().twosum([1,3,2,6],7)  

二、解释一下时间复杂度、空间复杂度
参考文章:https://mp.weixin.qq.com/s/1crt5oevFWhhPRz7y4FDng
时间复杂度并不是用来真实代表算法的执行时间,它是用来表示代码执行时间的增长变化趋势的。
空间复杂度程序运行时占用内存的大小

j=1
for i in range(int(input())):
    j=j+i
a=1

此时空间复杂度为O(1)
因为无论我们input的值多大,所需开辟的内训空间也不会随着input的变化而变化,当然它代表的也不是真实的所占用的内存空间
例如

i=1
j=2
m=3

等等,此时空间复杂度还是O(1)
但是

a=[]
for i in range(int(input())):
    a.append(i+1)
m=1

消耗空间和input数据保持线性增长,此时空间复杂度为O(n)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值