python
文章平均质量分 63
a_blooming_tree
这个作者很懒,什么都没留下…
展开
-
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 · 409 阅读 · 0 评论 -
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 · 390 阅读 · 0 评论 -
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 · 104 阅读 · 0 评论 -
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 · 259 阅读 · 0 评论 -
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 · 134 阅读 · 0 评论 -
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 · 118 阅读 · 0 评论 -
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 · 112 阅读 · 0 评论 -
Python 3.7 dataclasses -- 数据类 之 field
定义对于常见和简单的用例,不需要其他功能。但是,有些数据类功能需要额外的每字段信息。为了满足这种对附加信息的需求,你可以通过调用提供的 field() 函数来替换默认字段值。用法提供了一个方法field(),如果通过调用 field() 指定字段的默认值,则该字段的类属性将替换为指定的 default 值。如果没有提供 default ,那么将删除类属性。目的是在 dataclass() 装饰器运行之后,类属性将包含字段的默认值,就像指定了默认值一样。语法:dataclasses.fiel翻译 2021-04-22 15:10:54 · 7499 阅读 · 0 评论 -
正则表达式 - 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 · 109 阅读 · 0 评论 -
Python 变量管理
写在前边最近频繁遇到变量赋值问题,这里整理下。请大家不吝赐教。变量分类 变量类型 定义 变量作用域 存活时间 说明 局部变量 在函数内部定义,只能在此变量被声明的函数内访问 局部作用域:在被调用函数内赋值的变元和变量 函数调用至函数返回 全局变量 在函数外定义,可以在函数内外被访问 全局作用域:在所有函数之外.原创 2021-01-29 13:40:56 · 359 阅读 · 0 评论 -
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 · 121 阅读 · 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 · 123 阅读 · 0 评论 -
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 · 138 阅读 · 4 评论 -
leetcode 4. median-of-two-sorted-arrays寻找两个正序数组的中位数 python3
时间:2022-2-23题目地址:力扣题目难度:Hard题目描述:给定两个大小分别为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000..原创 2020-05-14 10:18:57 · 200 阅读 · 0 评论 -
第 42 场双周赛 python3
时间:2020-12-27题目地址:https://leetcode-cn.com/contest/biweekly-contest-42/题目难度:Easy题目描述:5621. 无法吃午餐的学生数量学校的自助午餐提供圆形和方形的三明治,分别用数字0和1表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个栈里,每一轮:如果队列最前面的学生喜欢栈顶的三明治,那么会拿走它并离开队列。否则,这名...原创 2020-12-27 18:21:22 · 313 阅读 · 0 评论 -
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 · 121 阅读 · 0 评论 -
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 · 142 阅读 · 0 评论 -
leetcode 189. rotate-array 旋转数组 python3
时间:2020-10-20题目地址:https://leetcode-cn.com/problems/rotate-array/题目难度:Medium题目描述:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2...原创 2020-10-20 21:04:24 · 132 阅读 · 0 评论 -
leetcode 122.best-time-to-buy-and-sell-stock-ii 买卖股票的最佳时机 II python3
时间:2020-5-17题目地址:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/description/题目难度:Easy题目描述:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,.原创 2020-05-17 10:19:59 · 358 阅读 · 0 评论 -
leetcode 108. convert-sorted-array-to-binary-search-tree 将有序数组转换为二叉搜索树 python3
时间:2020-10-13题目地址:https://leetcode-cn.com/problems/balanced-binary-tree/题目难度:Easy题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true ...原创 2020-10-13 10:16:42 · 189 阅读 · 0 评论 -
leetcode 110. balanced-binary-tree 平衡二叉树 python3
时间:2020-10-12题目地址:https://leetcode-cn.com/problems/balanced-binary-tree/题目难度:Easy题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true ...原创 2020-10-12 11:45:56 · 173 阅读 · 0 评论 -
leetcode 220. contains-duplicate-iii 存在重复元素 III python3
时间:2020-10-11题目地址:https://leetcode-cn.com/problems/contains-duplicate-iii/题目难度:Medium题目描述:在整数数组 nums 中,是否存在两个下标 i 和 j,使得nums [i] 和nums [j]的差的绝对值小于等于 t ,且满足 i 和 j 的差的绝对值也小于等于 ķ 。如果存在则返回 true,不存在返回 false。示例1:输入: nums = [1,2,3,1], k = 3, t =...原创 2020-10-11 11:43:36 · 166 阅读 · 0 评论 -
leetcode 22. generate-parentheses 括号生成 python3
时间:2020-9-29题目地址:https://leetcode-cn.com/problems/generate-parentheses/题目难度:Medium题目描述:数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]思...原创 2020-09-29 10:52:26 · 220 阅读 · 0 评论 -
leetcode 589. n-ary-tree-preorder-traversal N叉树的前序遍历 python3【递归 迭代】
时间:2020-9-27题目地址:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/题目难度:Easy题目描述:给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树:返回其前序遍历:[1,3,5,6,2,4]。说明:递归算法很简单,你可以通过迭代算法完成吗?思路1:递归,参考二叉树的前序遍历,思路一样"""# Definition for a Node.cla...原创 2020-09-27 10:13:03 · 117 阅读 · 0 评论 -
leetcode 11. container-with-most-water 盛最多水的容器 python3
时间:2020-9-25题目地址:https://leetcode-cn.com/problems/container-with-most-water/题目难度:Medium题目描述:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中...原创 2020-09-25 10:48:22 · 164 阅读 · 0 评论 -
leetcode 70. Climbing Stairs 爬楼梯 python3
时间:2020-05-26题目地址:https://leetcode-cn.com/problems/climbing-stairs/题目难度:Easy题目描述:假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以...原创 2020-05-26 10:22:45 · 274 阅读 · 0 评论 -
leetcode 450. delete-node-in-a-bst 删除二叉搜索树中的节点 python3
时间:2020-9-23题目地址:https://leetcode-cn.com/problems/delete-node-in-a-bst/题目难度:Medium题目描述:给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为O(h),h 为树的高度。示...原创 2020-09-23 14:16:08 · 188 阅读 · 0 评论 -
leetcode 701. insert-into-a-binary-search-tree 二叉搜索树中的插入操作 python3
时间:2020-9-22题目地址:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/题目难度:Medium题目描述:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如,给定二叉搜索树: 4...原创 2020-09-22 10:09:01 · 149 阅读 · 0 评论 -
leetcode 700. search-in-a-binary-search-tree 二叉搜索树中的搜索 python3
时间:2020-9-21题目地址:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/题目难度:Easy题目描述:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \ 1 3和值: 2你应...原创 2020-09-21 10:54:54 · 99 阅读 · 0 评论 -
leetcode 173. binary-search-tree-iterator 二叉搜索树迭代器 python3
时间:2020-9-20题目地址:https://leetcode-cn.com/problems/binary-search-tree-iterator/题目难度:Medium题目描述:实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.n..原创 2020-09-20 12:03:20 · 214 阅读 · 0 评论 -
leetcode 98. validate-binary-search-tree 验证二叉搜索树 python3
时间:2020-9-18题目地址:https://leetcode-cn.com/problems/validate-binary-search-tree/题目难度:Medium题目描述:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输...原创 2020-09-18 09:41:22 · 172 阅读 · 0 评论 -
leetcode 380. insert-delete-getrandom-o1 常数时间插入、删除和获取随机元素 python3
时间:2020-9-17题目地址:https://leetcode-cn.com/problems/insert-delete-getrandom-o1/题目难度:Medium题目描述:设计一个支持在平均时间复杂度 O(1)下,执行以下操作的数据结构。insert(val):当元素 val 不存在时,向集合中插入该项。remove(val):元素 val 存在时,从集合中移除该项。getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。示例 :// 初..原创 2020-09-17 16:33:57 · 199 阅读 · 0 评论 -
leetcode 347. top-k-frequent-elements 前 K 个高频元素 python3
时间:2020-9-16题目地址:https://leetcode-cn.com/problems/top-k-frequent-elements/题目难度:Medium题目描述:给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中...原创 2020-09-16 11:19:52 · 115 阅读 · 0 评论 -
leetcode 454. 4sum-ii 四数相加 II python3
时间:2020-9-13题目地址:https://leetcode-cn.com/problems/4sum-ii/题目难度:Medium题目描述:给定四个包含整数的数组列表A , B , C , D ,计算有多少个元组 (i, j, k, l),使得A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过23...原创 2020-09-13 09:46:27 · 171 阅读 · 0 评论 -
leetcode 652. find-duplicate-subtrees 寻找重复的子树 python3
时间:2020-9-10题目地址:https://leetcode-cn.com/problems/find-duplicate-subtrees/题目难度:Medium题目描述:给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。两棵树重复是指它们具有相同的结构以及相同的结点值。示例 1: 1 / \ 2 3 / / \ 4 2 4 / ...原创 2020-09-10 11:44:22 · 254 阅读 · 0 评论 -
leetcode 36. valid-sudoku 有效的数独 python3
时间:2020-9-7题目地址:https://leetcode-cn.com/problems/valid-sudoku/题目难度:Medium题目描述:判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用'.'表示。示例1:...原创 2020-09-08 14:06:03 · 192 阅读 · 0 评论 -
leetcode 3. longest-substring-without-repeating-characters 无重复字符的最长子串 python3
时间:2020-9-7题目地址:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/题目难度:Medium题目描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长...原创 2020-09-07 10:42:28 · 104 阅读 · 0 评论 -
leetcode 771. jewels-and-stones 宝石与石头 python3
时间:2020-9-6题目地址:https://leetcode-cn.com/problems/jewels-and-stones/题目难度:Easy题目描述:给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输...原创 2020-09-06 09:19:39 · 166 阅读 · 0 评论 -
leetcode 49. group-anagrams 字母异位词分组 python3
时间:2020-9-4题目地址:https://leetcode-cn.com/problems/group-anagrams/题目难度:Medium题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写...原创 2020-09-04 09:56:57 · 118 阅读 · 0 评论 -
leetcode 350. intersection-of-two-arrays-ii 两个数组的交集 II python3
时间:2020-9-3题目地址:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/题目难度:Easy题目描述:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与原创 2020-09-03 14:25:05 · 161 阅读 · 0 评论