第一天

第一天

感觉到自己的不足啊,感觉写写博客把想法写到纸面上才好
这些天看了Python 感觉语言不仅是工具 用一门合适的语言去编写代码有的时候会有神奇的效果- - 于是找个leetcode oj 刷刷题 把想法实现出来

做一个以后的规划吧

  • 学习markdown语法,每天用markdown写博文,记录每天学的东西
  • 学习和使用git 争取做到每日一推
  • 每天刷1-2道 leetcode 题 然后把代码弄上来

  • 今天第一题,leet oj 001 给一个list 和一个 target 找到list中相加等于target 的两个数的下标(默认存在一对)最开始感觉挺简单暴力了= = 我还是太肤浅了啊 然后用了 词典 过了。。 查了下Python词典查找的复杂度 说是哈希实现的 然后O(1) 感觉不稳定呢。。 暴力的代码就不贴了 把ac的代码贴上来

    class Solution:
        # @param {integer[]} nums
        # @param {integer} target
        # @return {integer[]}
        def twoSum(self, nums, target):
            mark = {}
            for index,data in enumerate(nums,1):
                temp = target - data
                i = mark.get(temp,-1)
                if i>0:
                    return i,index
                mark[data] = index
  • 然后第二题

链表倒序表示的2组数字
#
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
类似这种 求和 比较简单的 但是写的比较乱 希望以后有改正吧

代码:

    class Solution:
        # @param {ListNode} l1
        # @param {ListNode} l2
        # @return {ListNode}
        def addTwoNumbers(self, l1, l2):
             next = 0
             temp = l1.val + l2.val
             l1 = l1.next
             l2 = l2.next
             if temp >=10:
                 temp = temp - 10
                 next = 1
             l = ListNode(temp)
             res = l
             while l1!=None or l2!=None:
                if l1 == None:
                    l.next = l2
                    l.next.val = l.next.val + next
                    l=l.next
                    while l.val == 10:
                        l.val = 0
                        if l.next==None:
                            l.next= ListNode(0)
                        l = l.next
                        l.val = l.val + 1
                    return res
                if l2 == None:
                    l.next = l1
                    l.next.val = l.next.val + next
                    l=l.next
                    while l.val == 10:
                        l.val = 0
                        if l.next==None:
                            l.next= ListNode(0)
                        l = l.next
                        l.val = l.val + 1
                    return res
                temp = l1.val + l2.val + next
                l1 = l1.next
                l2 = l2.next
                next = 0
                if temp >= 10:
                    temp = temp - 10 
                    next = 1
                l.next = ListNode(temp)
                l=l.next
             if next ==1:
                 l.next = ListNode(1)
             return res

贵在坚持!!
Ps: markdownpad2的代码块有问题啊 。。 明天研究下。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值