自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 打卡第九天(Task09)----文件与文件系统

文件与文件系统文件与文件系统打开文件文件对象方法简洁的 with 语句OS 模块中关于文件/目录常用的函数序列化与反序列化文件与文件系统打开文件open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True) Open file and return a stream. Raise OSError upon failure.file: 必需,文件路径(相对或者绝对路径)。mod

2020-08-09 07:24:03 242

原创 打卡第八天(Task08)----模块和datetime模块

模块和datetime模块模块组成命名空间导入模块if __name__ == '__main__'搜索路径包datetime模块datetime类date类time类timedelta类模块如果从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块(Module)。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中

2020-08-07 21:13:00 258

原创 打卡第七天(Task07)----类、对象和魔法方法

类、对象、魔法方法类与对象对象 = 属性 + 方法2. self3. Python 的魔法方法4. 公有和私有5. 继承6. 组合类、类对象和实例对象8. 绑定9. 一些相关的内置函数(BIF)魔法方法1. 基本的魔法方法2. 算术运算符3. 反算术运算符4. 增量赋值运算符5. 一元运算符6. 属性访问7. 描述符8. 定制序列9. 迭代器10. 生成器类与对象对象 = 属性 + 方法象是类的实例。换句话说,类主要定义对象的结构,然后我们以类为模板创建对象。类不但包含方法定义,而且还包含所有实例共享

2020-08-05 22:24:37 269

原创 打卡第六天(Task06)----函数与Lambda表达式

函数与Lambda表达式函数1.函数的定义2.函数的调用3.函数文档4.函数参数(1) 位置参数(2) 默认参数(3) 可变参数(4) 关键字参数(5) 命名关键字参数(6) 参数组合函数的返回值变量作用域内嵌函数闭包递归Lambda 表达式匿名函数的定义匿名函数的应用自定义函数函数1.函数的定义函数以def关键词开头,后接函数名和圆括号()。函数执行的代码以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。de

2020-08-02 18:15:18 290

原创 打卡第五天(Task05)----字典、集合、序列

字典、集合、序列字典1. 可变类型与不可变类型2. 字典的定义3. 创建和访问字典4. 字典的内置方法集合1. 集合的创建2. 访问集合中的值3. 集合的内置方法4. 集合的转换5. 不可变集合序列针对序列的内置函数字典1. 可变类型与不可变类型序列是以连续的整数为索引,与此不同的是,字典以"关键字"为索引,关键字可以是任意不可变类型,通常用字符串或数值。字典是 Python 唯一的一个 映射类型,字符串、元组、列表属于序列类型。那么如何快速判断一个数据类型 X 是不是可变类型的呢?两种方法:

2020-07-31 12:27:04 268

原创 打卡第四天(Task04)----列表、元组、字符串

列表、元组、字符串列表1.列表的定义2.列表的创建3.向列表中添加元素4.删除列表中的元素5.获取列表中的元素6.列表的常用操作符7.列表的其他方法元组1.元组的定义2. 创建和访问一个元组3. 更新和删除一个元组4. 元组相关的操作符5. 内置方法6. 解压元组字符串1.字符串的定义2. 字符串的切片与拼接3. 字符串的常用内置方法4. 字符串格式化列表1.列表的定义列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, …, 元素n]。关键点

2020-07-28 19:24:03 322

原创 打卡第三天(Task03)----异常处理

目录异常处理1. Python 标准异常总结2. Python标准警告总结3. try - except 语句4. try - except - finally 语句5. try - except - else 语句6. raise语句练习题异常处理1. Python 标准异常总结BaseException:所有异常的 基类Exception:常规异常的 基类StandardError:所有的内建标准异常的基类ArithmeticError:所有数值计算异常的基类FloatingPointE

2020-07-25 16:15:06 222

原创 打卡第二天(Task02)----条件循环结构

一、条件语句与其他语言相同,常见的条件语句为 if - else 语句,当只需要一个判断条件时,即可直接使用 if 语句。同时,if 语句支持嵌套,即在一个 if 语句中嵌入另一个 if 语句,从而构成不同层次的选择结构。Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题。(即 else 要与对应的 if 对齐)a = 6b = 3if a > 2: if b > 0: print('pass')else: pri

2020-07-23 20:43:00 577

原创 打卡第一天(Task01)----变量、运算符、数据类型及位运算

一、注释在python中,# 表示注释,用来作用于整行注释。如果想要多行注释,则采用 ‘’’ ‘’’ 或者 " " " " " "的方法进行注释,引号之内的所有内容都会被注释。#这是一个注释print("Hello world")#Hello world"""多行注释多行注释"""'''多行注释多行注释'''print("Hello world")#Hello world二、运算符python中存在算术运算符、比较运算符、逻辑运算符、位运算符、三元运算符以

2020-07-21 21:21:17 238

原创 打卡第三十天(Task30)----通配符匹配

Leetcode刻意练习----贪心算法6题目给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘’ 的通配符匹配。‘?’ 可以匹配任何单个字符。'’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1输入:s...

2020-03-30 21:18:17 267

原创 打卡第二十九天(Task29)----加油站

Leetcode刻意练习----贪心算法5题目在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组...

2020-03-29 09:39:02 242

原创 打卡第二十八天(Task28)----跳跃游戏

Leetcode刻意练习----贪心算法4题目给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2输入: [3,2,1,0,4]输...

2020-03-28 17:44:13 347

原创 打卡第二十七天(Task27)----分发饼干

Leetcode刻意练习----贪心算法3题目假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个...

2020-03-27 18:25:58 208

原创 打卡第二十六天(Task26)----判断子序列

Leetcode刻意练习----贪心算法2题目给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子...

2020-03-26 18:19:23 250 1

原创 打卡第二十五天(Task25)----买卖股票的最佳时机Ⅱ

Leetcode刻意练习----贪心算法1题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天...

2020-03-25 19:02:40 233

原创 打卡第二十四天(Task24)----恢复二叉搜索树

Leetcode刻意练习----二叉树6题目二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1输入: [1,3,null,null,2] 1 / 3 \ 2输出: [3,1,null,null,2] 3 / 1 \ 2示例 2输入: [3,1,4,null,null,2] 3 / \1 ...

2020-03-24 21:23:09 221

原创 打卡第二十三天(Task23)----不同的二叉搜索树

Leetcode刻意练习----二叉树5题目给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例输入: 3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 ...

2020-03-23 21:20:17 174

原创 打卡第二十二天(Task22)----二叉树的中序遍历

Leetcoede刻意练习----二叉树4题目给定一个二叉树,返回它的中序 遍历。示例输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?思路递归函数实现:终止条件:当前节点为空时函数内: 递归的调用左节点,打印当前节点,再递归调用右节点PS:递归中前序遍历:...

2020-03-22 18:58:03 200

原创 打卡第二十一天(Task21)----二叉树的最大深度

Leetcoe刻意练习----二叉树3题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。题解(BFS)# Definition fo...

2020-03-21 20:13:57 203

原创 打卡第二十天(Task20)----对称二叉树

Leetcode刻意练习----二叉树2题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如...

2020-03-20 17:55:26 259

原创 打卡第十九天(Task19)----相同的树

Leetcode刻意练习----二叉树1题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例...

2020-03-19 18:03:58 163

原创 打卡第十八天(Task18)----正则表达式匹配

Leetcode刻意练习----字符串6题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘’ 的正则表达式匹配。‘.’ 匹配任意单个字符'’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例...

2020-03-18 21:51:17 405

原创 打卡第十七天(Task17)----最长回文子串

Leetcode刻意练习----字符串5题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2输入: "cbbd"输出: "bb"题解一(暴力算法)class Solution: def longestPalindrome(self,...

2020-03-17 20:53:28 162

原创 打卡第十六天(Task16)----无重复字符的最长子串

Leetcode刻意练习----字符串5题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3输入: “pwwkew”输出: 3解释: ...

2020-03-16 23:25:03 168

原创 打卡第十五天(Task15)----有效的括号

Leetcode刻意练习----栈题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意:空字符串可被认为是有效字符串。示例 1输入: "()[]{}"输出: true示例 2输入: "([)]"输出: false示例 3输入: "{[]}...

2020-03-15 17:35:24 158

原创 打卡第十四天(Task14)----最长公共前缀

Leetcode刻意练习题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1输入: ["flower","flow","flight"]输出: "fl"示例 2输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。思路判断第一个字符串中的第每个字符与以后每个字符串中的相应字符是否相同...

2020-03-14 20:17:22 221

原创 打卡第十三天(Task13)----罗马数字转整数

Leetcode刻意练习题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 ...

2020-03-13 18:54:39 162

原创 打卡第十二天(Task12)----合并K个排序链表

Leetcode刻意练习----数组6题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6题解# Definition for singly-linked lis...

2020-03-12 23:12:16 157

原创 打卡第十一天(Task11)----删除链表的倒数第N个节点

Leetcode刻意练习----数组5题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明给定的 n 保证是有效的。方法一(两次遍历)先遍历链表计算出该链表的长度,然后计算出在要删除的那个节点之...

2020-03-11 17:34:21 146

原创 打卡第十天(Task10)----两数相加

Leetcode刻意练习----链表4题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:...

2020-03-10 19:10:16 250

原创 打卡第九天(Task09)----环形链表

Leetcode刻意练习----链表3题目给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2输入:head = [1,...

2020-03-09 18:15:29 221

原创 打卡第八天(Task08)----删除排序链表中的重复元素

Leetcode刻意练习----链表2题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1输入: 1->1->2输出: 1->2示例 2输入: 1->1->2->3->3输出: 1->2->3题解# Definition for singly-linked list.# class ListNode:...

2020-03-08 16:56:18 170

原创 打卡第七天(Task07)----合并两个有序链表

Leetcode刻意练习----链表1题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路创建一个空链表 a ,利用迭代比较两链表中元素大小,按顺序添加到 a 中。题解# Definition for...

2020-03-07 20:20:00 141

原创 打卡第六天(Task06)----买卖股票的最佳时机Ⅲ

Leetcode刻意练习----数组6题目给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格...

2020-03-06 19:58:14 168

原创 打卡第五天(Task05)----最接近的三数之和

Leetcode刻意练习----数组5题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2)....

2020-03-05 19:26:27 195

原创 打卡第四天(Task04)----三数之和

Leetcode刻意练习----数组4题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1...

2020-03-04 21:26:03 204

原创 打卡第三天(Task03)----移除元素

Leetcode刻意练习----数组3题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 ...

2020-03-03 12:16:56 177

原创 打卡第二天(Task02)----删除排序数组中的重复项

Leetcode刻意练习----数组2题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度...

2020-03-02 15:16:26 179

原创 打卡第一天(Task01)----两数之和

Leetcode刻意练习----数组1题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以...

2020-03-01 11:47:13 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除