3 TEDxPY

尚未进行身份认证

我要认证

微信公众号 TEDxPY

等级
TA的排名 7w+

Python 装饰器笔记

本文案例内容参考自:https://www.liaoxuefeng.com/wiki/1016959663602400/1017451662295584装饰器概念当我们想为现有的函数增加额外功能,但又不想改变这个函数内部的代码,那么我们可以通过为该函数添加“装饰器”的形式来实现额外功能。装饰器简例例如目前我们现在有一个打印时间字符串的函数:def timestr(): print("2020-06-03")当我们执行时,该函数只会打印一个时间字符串,现在我们想在执行该函数时可以额外.

2020-06-03 17:06:37

六一礼物

一不留神,到了不再拥有六一的年纪。被时间裹挟着一步步向前走,回头想想却总有那么几件小玩具萦绕心头。如果让我来列举十件儿时的玩具,大概是如下这般:01 铁皮青蛙这可能不是最想要的,但会是最...

2020-06-01 18:57:58

第二轮 Python 刷题笔记二:树

在第二轮刷题一开始,我们是整理了关于数组的五道 LeetCode 题,按照很多算法训练的顺序,一般紧跟数组的是链表、树,那么我们第二篇就集中来整理下树的题目。之前提到,这是我们第二轮刷题,在先前刷到二叉树题目时,曾经整理过两篇关于树的基础知识点和四种遍历方法:二叉树专题一:基础知识点,前中后序遍历二叉树专题二:层级遍历及随机题目如果只是刷一遍题目,可能了解如上的四种遍历代码模版便足够,但这样缺点很明显:只知道这样写代码,别人一问却不知其背后的道理——换言之,只是会解题而已。今天再次回顾整理树的题目,我

2020-05-26 13:46:38

第二轮 Python 刷题笔记一:数组

经过四十多天缓慢的刷题,现在进度大概是刷了八十多道 LeetCode 题,最近也在吸取过来人的经验,仍然需要对刷题计划进行调整。首先明确下目标,我是有了 Python 基础,刷题是想掌握更多提升代码质量的算法、接触并了解更底层的原理和知识点。结合着目标,便很快找到之前刷题过程中存在的不足:经常花费大量时间冥思苦想某道题,最终可能采用辛苦的方法做出来,就这么提交后没有继续跟进和整理,错过相关更巧妙算法知识的学习。之前的模式是刷完题后写题解,回顾下最初思路,代码实现加注释,比对下时间空间表现,时间充裕

2020-05-23 19:46:05

520,发波红包封面~

520了,没能提前准备什么礼物,难得好不容易提交的红包封面过了审核,今天给大家发一波封面吧~是这样式儿的:新版封面动图效果如下:动图效果是的,比初代版本逊色不少:现在封面审核变得异常严格...

2020-05-20 20:52:27

Python 刷题笔记:一道简单级的动态规划题

今天翻看了关于时间复杂度、空间复杂度的文章和视频,对其认知加深了些,之后也要养成分析复杂度的习惯,顺手添加,大家如果看到我写错的还望予以纠正。同时,今儿还遇到句值得反思的话:“珍惜你所遇...

2020-05-19 23:48:39

Python:刷题笔记:动态规划专题一

今天翻看了关于时间复杂度、空间复杂度的文章和视频,对其认知加深了些,之后也要养成分析复杂度的习惯,顺手添加,大家如果看到我写错的还望予以纠正。同时,今儿还遇到句值得反思的话:“珍惜你所遇见的每一道题”。目前刷题 41 天,LeetCode 上题目刷了 80 道。但如果让我重新再做,应该有不少题目还是搞不定,甚至会出现之前做出来、现在看却没思路的情况。此外,之前有些简单题目是利用 Python 取巧通关,绕开了题目本身关联的算法设计,使得做题纯粹变成了做任务,白白浪费练习算法、加深理解的机会。所以,认真对

2020-05-19 23:42:01

Python 刷题笔记:背包问题

刷动态规划的第二天,有些自闭,刚靠着大魔王的歌缓过来了。关于动态规划,我还处于看题解时哦哦哦、看题目时???的阶段,所以整理的点不深。除了昨天推给大家的链接,今天也是发现了一位刷题大牛的宝藏,不仅动态规划,各类算法都做了整理、引导,属实 respect !动态规划专题https://labuladong.gitbook.io/algo/dong-tai-gui-hua-xi-lie/dong-tai-gui-hua-xiang-jie-jin-jie关于动态规划,我现阶段的理解是在穷举的过程中找到可

2020-05-18 23:20:21

Python 刷题笔记:随缘题目

今天时间不太多,记一道遇到的面试题:题目给定一个 m x n 的字符矩阵和字符串 s,在矩阵中每次只能横向、纵向移动一步,不能超出矩阵范围,问:是否可以由矩阵中拼接出 s?题目分析对深度优先搜索掌握并不到位,所以第一时间没有形成思路。直到后来确定是应用该算法后,才刚刚把答案完成。大致思路:用嵌套的列表来表示矩阵,首先遍历矩阵中的点,找到可以匹配字符串起点的点。匹配到起点后,由该起点移动位置看能否完整匹配字符串 s,若可以、返回 True。将这个过程定义成独立的函数,在每次匹配到起点后调用,若全部

2020-05-15 23:55:34

Python 刷题笔记:广度优先搜索专题

昨天看过了简单题汇聚的深度优先搜索专题,今天来体验下简单级别的广度优先搜索专题。老样子,先熟悉下术语概念:广度优先搜索算法(英语:Breadth-First Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。BFS是一种盲目搜索法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能地址,彻底地搜

2020-05-14 23:08:51

Python 刷题笔记:深度优先搜索专题

今天来接触下专业术语——深度优先搜索算法(英语:Depth-First-Search,DFS)深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。深度优先搜索

2020-05-13 20:37:09

Python 刷题笔记:二叉树专题二

昨天接触了二叉树中的前中后三序遍历的代码实现,今天来看剩下的那种层序遍历。题目一第 102 题:二叉树的层序遍历难度:中等给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]题目分析看其输出格式,是将二叉树每层的节点放到单独的列

2020-05-12 22:04:30

Python 刷题笔记:二叉树专题一

今天来看二叉树专题,首先我们先整理下关于二叉树的基础知识点;基于在 LeetCode 推荐题解中发现了一个适用于二叉树遍历的套路解法,我们今天也会连刷三道关于前序、中序和后序遍历的 LeetCode 题目。这个改变对二叉树认知的神奇解法,真的非常值得一看!基础知识点树首先看下“树”的概念:树是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由 n(n>0) 个有限节点组成一个具有层次关系的集合。链接:https://leetcode-

2020-05-11 18:24:24

Python 刷题笔记:位运算专题二

昨天笔记里对原码、反码、补码的描述有误,这里更正下:正数三码相同,负数的反码才会除了首位符号位不变、其余位取反。位运算都是基于数字的补码来进行运算的。昨天题目中代码结尾处有个特殊处理没来得及验证,今天细说下:由于 Python 3 中整数是动态长度,并不是像其它语言中一般被限制到 32 位,所以通常如果涉及到复杂些的位运算,会通过整除一个 33 位的首位为 1、其余位全部为 0 的数来限制到 32 位——而这个除数在十进制中也就是 2 的 32 次方、用 16 进制则表示为 0x100000000,

2020-05-10 19:28:25

Python 刷题笔记:位运算专题一

学 Python 初接触 &、| 等运算符时,只大概了解它们被称为位运算符,并不同于逻辑运算符 and、or,今天就通过基础知识点和几道题目来熟悉下。知识点我们都知道所有数值在计算机底层是以二进制形式存在的,首先要明确几个概念:原码:直接将一个数值转化为二进制,其首位代表符号,0 为正 1 为负反码:最高位符号位不变,其余为取反,即 1 变 0、0 变 1补码:正数的补码与原码相同;负数的补码为其反码 +1以正数 4 和负数 -5 为例,其 32 位二进制形式如下:关键点来了,我

2020-05-09 23:50:43

Python 刷题笔记:贪心算法专题三

今天仍旧是贪心算法的题目,加上之前两篇的四道题,对贪心算法的应用也大致有些印象了,明天换个其它类型题目来继续刷。时间关系只记录了一道,题目虽少,但这次过程记得较为详细,而且这题目确实还挺有意思。题目第 406 题:根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例:输入:[[7,0], [4,4], [7,1], [5,0]

2020-05-08 23:17:47

Python 刷题笔记:贪心算法专题二

昨天被一道简单题目的贪心算法解法卡住了,本想发出来/。,美女吧m题目第 1029 题:两地调度公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]。返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达。示例输入:[[10,20],[30,200],[400,50],[30,20]]输出:110解释...

2020-05-08 00:06:20

Python 刷题笔记:贪心算法专题一

LeetCode 每月都会搞每日一题活动,昨天的题目是贪心算法类型,折腾好久才做出来,索性今天就围绕贪心算法多看几道。首先明确下贪心算法概念:贪心算法从问题的某个初始解出发,逐步逼近给定的目标,以便尽快求出更好的解。当达到算法中的某一步不能再继续前进时,就停止算法,给出一个近似解。《Python 算法详解》张玲玲贪心算法的基本思路如下:建立数学模型来描述问题把求解的问题分成若干个...

2020-05-06 00:01:40

Python 刷题笔记:数组专项练习一

昨天是刷题的第 25 天,基本保持了每天一两道,同步分享了其中前 35 题的记录。通过二十多天的摸索,慢慢熟悉 LeetCode 平台,为了提高刷题学习效率,我决定要改变刷题方式:由之前的按顺序做题改为通过标签分类的专项刷题。可以看到,LeetCode 中对题目会有标签分类,昨天我们恰巧碰到 33-35 题三个连续的二分查找题目,经过整合练习,会有很明显地感觉到通过一系列地练习会更快捷掌握该算...

2020-05-04 21:30:28

吃透二分查找—— LeetCode 第 33、34、35 题记

昨天没能完成 34,今天来补上。恰好第 35 题也是二分查找算法的应用,放到一起来记录。首先看下二分查找算法的概念:❝二分查找也称折半查找(Binary Search),它是一种效率较高...

2020-05-03 18:32:17

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)