自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 300. 最长递增子序列 python3

时间:2022-3-22题目地址:力扣题目难度:Medium题目描述:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = ..

2022-03-22 08:45:52 274

原创 leetcode 46. 全排列 python3

时间:2022-3-21题目地址:力扣题目难度:medium题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 &..

2022-03-21 13:06:05 285

原创 leetcode 33. 搜索旋转排序数组 python3

时间:2022-3-17题目地址:力扣题目难度:medium题目描述:整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经..

2022-03-21 10:21:57 240

原创 leetcode 237. 删除链表中的节点 python3

时间:2022-3-16题目地址:力扣题目难度:easy题目描述:请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例 2:...

2022-03-21 10:15:51 172

原创 leetcode 66. 加一 python3

时间:2022-3-15题目地址:力扣题目难度:easy题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 432...

2022-03-21 10:11:49 340

原创 leetcode 69. x 的平方根 python3

时间:2022-3-4题目地址:力扣题目难度:easy题目描述:给你一个非负整数 x ,计算并返回x的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。思路1...

2022-03-21 09:58:45 379

原创 leetcode 268. 丢失的数字 python3

时间:2022-3-14题目地址:力扣题目难度:easy题目描述:给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围...

2022-03-21 09:56:13 351

原创 leetcode 29. 两数相除 python3

时间:2022-3-7题目地址:力扣题目难度:medium题目描述:给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例1:输入: dividend = 10, divisor = 3...

2022-03-21 09:45:21 85

原创 leetcode 15. 3sum 三数之和 python3

时间:2022-3-4题目地址:力扣题目难度:medium题目描述:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]...

2022-03-04 23:23:06 237

原创 leetcode 13. roman-to-integer罗马数字转整数 python3

时间:2022-3-2题目地址:力扣题目难度:Easy题目描述:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写做XII,即为X...

2022-03-02 22:01:20 109

原创 leetcode 8. string-to-integer-atoi字符串转换整数 (atoi) python3

时间:2022-2-28题目地址:力扣题目难度:Medium题目描述:请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输...

2022-02-28 21:59:23 99

原创 leetcode 7. reverse-integer 整数反转 python3

时间:2022-2-27题目地址:力扣题目难度:Medium题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−2 **31,2**31− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。思路1:弹出和推入数字代码段1:通过class Solution: def reverse(self, x: int) -> int: r...

2022-02-27 11:45:12 93

翻译 Python 3.7 dataclasses -- 数据类 之 field

定义对于常见和简单的用例,不需要其他功能。但是,有些数据类功能需要额外的每字段信息。为了满足这种对附加信息的需求,你可以通过调用提供的 field() 函数来替换默认字段值。用法提供了一个方法field(),如果通过调用 field() 指定字段的默认值,则该字段的类属性将替换为指定的 default 值。如果没有提供 default ,那么将删除类属性。目的是在 dataclass() 装饰器运行之后,类属性将包含字段的默认值,就像指定了默认值一样。语法:dataclasses.fiel

2021-04-22 15:10:54 6319

原创 剑指 Offer 40. zui-xiao-de-kge-shu-lcof 最小的k个数 python3

时间:2021-03-30题目地址:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/题目难度:Easy题目描述:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]

2021-03-30 21:11:38 87

原创 字符串相加、偶数求和 - Python

题目一:题目二:一行实现1-5000之间所有偶数求和# 常规写法res = 0for i in range(5001): if i % 2 == 0: res += iprint(res)# 写的还是错的# res += i for i in range(2, 5001, 2)# print(res)# 优化一:range步长为2res = 0for i in range(2, 5001, 2): res += iprint(res)

2021-03-14 20:46:54 621 1

原创 正则表达式 - Python

1 简介2 正则表达式处理函数Python里的re模块基本可以拥有了所有的正则表达式功能2.1 re.match从字符串起始位置开始匹配,匹配成功返回匹配对象,否则返回None语法:re.match(pattern, string, flags=0)参数:pattern:正则的模式字符串string:原始字符串flags: 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。匹配对象方法: group(num=0) 匹配的整个表达式的字符

2021-03-14 20:00:38 93

原创 单例模式 - Python

通俗来讲:一个类只有一个实例举例:一个文件的操作只能通过唯一的一个实例进行,否则多进程多线程下无法操作应用场景:服务器配置信息一份即可,不需要频繁创建实现方式:使用模块。模块是天然的单例模式,第一次导入时会生成.pyc文件,第二次导入时直接加载此文件 使用装饰器装饰器def singleton(cls): _instance = {} # 定义一个字典用来保存类的实例对象 def _singleton(*args, **kwargs): if cl

2021-03-14 19:28:55 99 2

原创 Shell 快速上手

目录0 Shell教程1 shell变量2 Shell 传递参数3 Shell 数组4 Shell 运算符5 Shell echo命令6 Shell printf 命令7 Shell test 命令8 Shell 流程控制9 Shell 函数10 Shell 输入/输出重定向11 Shell 文件包含0 Shell教程~~~~~现在前边~~~~~~~最近发现shell的语法都快忘了,重新看了下菜鸟的教程,写了个手册,方便查看。有写错的地方,请大家多

2021-03-09 14:07:20 186 1

原创 leetcode 316. remove-duplicate-letters 去除重复字母 python3

时间:2021-02-28题目地址:https://leetcode-cn.com/problems/move-zeroes/题目难度:Easy题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路1:快慢指针关键点:去重--set() 不能打乱字符的相对位置--栈结构 保

2021-03-01 20:57:49 180 1

原创 leetcode 283. move-zeroes 移动零 python3

时间:2021-02-28题目地址:https://leetcode-cn.com/problems/move-zeroes/题目难度:Easy题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路1:快慢指针代码段1:通过class Solution: def mo

2021-02-28 19:38:30 91 2

原创 leetcode 83. remove-duplicates-from-sorted-list删除排序链表中的重复元素 python3

时间:2021-02-28题目地址:https://leetcode-cn.com/problems/remove-element/题目难度:Easy题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3思路1:快慢指针代码段1:通过# Definition for singl..

2021-02-28 19:05:36 108 3

原创 leetcode 438. find-all-anagrams-in-a-string 找到字符串中所有字母异位词 python3

时间:2021-02-25题目地址:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/题目难度:Medium题目描述:给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例1:输入:s: ...

2021-02-25 20:42:41 112

原创 leetcode 567. permutation-in-string 字符串的排列 python3

时间:2021-02-24题目地址:https://leetcode-cn.com/problems/permutation-in-string/题目难度:Medium题目描述:给定两个字符串s1和s2,写一个函数来判断 s2 是否包含 s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例 1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例 2:输入: s1= ...

2021-02-24 20:43:57 114

原创 leetcode 76.minimum-window-substring 最小覆盖子串 python3

时间:2021-02-23题目地址:https://leetcode-cn.com/problems/minimum-window-substring/题目难度:Hard题目描述:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"

2021-02-23 21:47:17 103 1

原创 leetcode 410. split-array-largest-sum 分割数组的最大值 python3

时间:2021-02-22题目地址:https://leetcode-cn.com/problems/split-array-largest-sum/题目难度:Hard题目描述:给定一个非负整数数组 nums 和一个整数m ,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。示例 1:输入:nums = [7,2,5,10,8], m = 2输出:18解释:一共有四种方法将 nums 分割为 2 个子数组。 其中最好的方式是...

2021-02-22 21:20:57 133

原创 leetcode 1011. capacity-to-ship-packages-within-d-days 在 D 天内送达包裹的能力 python3

时间:2021-02-21题目地址:https://leetcode-cn.com/problems/capacity-to-ship-packages-within-d-days/题目难度:Medium题目描述:传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i个包裹的重量为weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示..

2021-02-21 10:57:32 101 1

原创 leetcode 875. koko-eating-bananas 爱吃香蕉的珂珂 python3

时间:2021-02-20题目地址:https://leetcode-cn.com/problems/koko-eating-bananas/题目难度:Medium题目描述:珂珂喜欢吃香蕉。这里有N堆香蕉,第 i 堆中有piles[i]根香蕉。警卫已经离开了,将在H小时后回来。珂珂可以决定她吃香蕉的速度K(单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。珂珂喜欢慢...

2021-02-20 20:14:29 201

原创 leetcode 704. binary-search 二分查找 python3

时间:2021-02-28题目地址:https://leetcode-cn.com/problems/binary-search/题目难度:Easy题目描述:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2...

2021-02-18 11:53:43 127

原创 leetcode 25. reverse-nodes-in-k-group K 个一组翻转链表 python3

时间:2021-2-16题目地址:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/题目难度:Hard题目描述:给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->...

2021-02-16 18:31:54 110

原创 leetcode 222. count-complete-tree-nodes 完全二叉树的节点个数 python3

时间:2021-2-9题目地址:https://leetcode-cn.com/problems/count-complete-tree-nodes/题目难度:Medium题目描述:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~2h个节点。示例 1:输入:root = [1,..

2021-02-09 10:27:52 175

原创 leetcode 92. reverse-linked-list-ii 反转链表 II python3

时间:2021-2-8题目地址:https://leetcode-cn.com/problems/reverse-linked-list-ii/题目难度:Medium题目描述:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL思路1:递归一步一...

2021-02-08 21:28:43 146

原创 leetcode 341. flatten-nested-list-iterator 扁平化嵌套列表迭代器 python3

时间:2021-02-05题目地址:https://leetcode-cn.com/problems/flatten-nested-list-iterator/题目难度:Medium题目描述:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用ne..

2021-02-05 21:50:07 92

原创 leetcode 538. convert-bst-to-greater-tree 把二叉搜索树转换为累加树 python3

时间:2021-1-29题目地址:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/题目难度:Medium题目描述:给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点...

2021-01-29 23:21:30 88

原创 Python 变量管理

写在前边最近频繁遇到变量赋值问题,这里整理下。请大家不吝赐教。变量分类 变量类型 定义 变量作用域 存活时间 说明 局部变量 在函数内部定义,只能在此变量被声明的函数内访问 局部作用域:在被调用函数内赋值的变元和变量 函数调用至函数返回 全局变量 在函数外定义,可以在函数内外被访问 全局作用域:在所有函数之外.

2021-01-29 13:40:56 331

原创 leetcode 230. kth-smallest-element-in-a-bst 二叉搜索树中第K小的元素 python3

时间:2021-1-28题目地址:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/题目难度:Medium题目描述:给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \1 4 \ 2...

2021-01-28 21:04:11 97 1

原创 leetcode 654. maximum-binary-tree 最大二叉树 python3

时间:2021-1-25题目地址:https://leetcode-cn.com/problems/maximum-binary-tree/题目难度:Medium题目描述:给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下:二叉树的根是数组 nums 中的最大元素。左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。返回有给定数组 nums 构建的 最大二叉树 。.

2021-01-25 21:45:16 98

原创 leetcode 114. flatten-binary-tree-to-linked-list 二叉树展开为链表 python3

时间:2021-1-24题目地址:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/题目难度:Medium题目描述:给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5/ \ \3 4 6将其展开为:1\ 2 \ 3 \ 4 \ 5 ...

2021-01-24 12:46:39 118 4

原创 第 42 场双周赛 python3

时间:2020-12-27题目地址:https://leetcode-cn.com/contest/biweekly-contest-42/题目难度:Easy题目描述:5621. 无法吃午餐的学生数量学校的自助午餐提供圆形和方形的三明治,分别用数字0和1表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个栈里,每一轮:如果队列最前面的学生喜欢栈顶的三明治,那么会拿走它并离开队列。否则,这名...

2020-12-27 18:21:22 277

原创 217 周赛 python3

时间:2020-11-29题目地址:https://leetcode-cn.com/contest/weekly-contest-217/题目难度:Easy题目描述:5613. 最富有客户的资产总量给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1

2020-11-29 18:30:18 109

原创 261 周赛 python3

时间:2020-11-21题目地址:https://leetcode-cn.com/problems/sort-list/题目难度:Medium题目描述:给你链表的头结点head,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]...

2020-11-21 12:00:45 129

空空如也

空空如也

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

TA关注的人

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