python
lwycc233
坚持总会有回报!
展开
-
python使用小技巧
python使用小技巧——持续学习中原创 2022-09-01 10:52:57 · 300 阅读 · 0 评论 -
leetcode-6. Z字形变换
题目代码class Solution: def convert(self, s, numRows): """ :type s: str :type numRows: int :rtype: str """ def help(s, numRows): #将字符串s转换成list[[li...原创 2018-09-12 17:15:29 · 104 阅读 · 0 评论 -
leetcode-110. 平衡二叉树
题目给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]3 / \ 9 20 / \ 15 7 返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,n...原创 2018-09-12 09:32:01 · 121 阅读 · 0 评论 -
leetcode-2. 两数相加
题目给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807代码...原创 2018-09-09 17:23:59 · 81 阅读 · 0 评论 -
leetcode-104. 二叉树的最大深度
题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例: 给定二叉树 [3,9,20,null,null,15,7],3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。思路# Definition for a binary tree ...原创 2018-09-09 16:04:05 · 84 阅读 · 0 评论 -
leetcode-189. 旋转数组
题目给定一个数组,将数组中的元素向右移动 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,3,4]示例...原创 2018-08-16 13:00:01 · 127 阅读 · 0 评论 -
leetcode-849. 到最近的人的最大距离
题目在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。至少有一个空座位,且至少有一人坐在座位上。亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。返回他到离他最近的人的最大距离。示例 1: 输入:[1,0,0,0,1,0,1] 输出:2 解释: 如果亚历克斯坐在第二个空位(seats[2])上,他到离他最...原创 2018-08-13 11:16:10 · 364 阅读 · 0 评论 -
leetcode-169. 求众数
题目给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1: 输入: [3,2,3] 输出: 3示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2思路大于 ⌊ n/2 ⌋ 的元素有且只有一个,所以找到出现次数最多次的元...原创 2018-08-08 15:23:02 · 216 阅读 · 0 评论 -
leetcode-167. 两数之和 II - 输入有序数组
题目给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例: 输入: numbers = [2, 7, 1...原创 2018-08-08 14:52:14 · 227 阅读 · 0 评论 -
leetcode-830. 较大分组的位置
题目在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 S = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。最终结果按照字典顺序输出。示例 1: 输入: “abbxxxxz...原创 2018-08-08 11:24:26 · 372 阅读 · 0 评论 -
python 求两个list 的差集,并集和交集
转载自:python 求两个list 的差集,并集和交集 比如,现在有两个list类型:a_list = [1,2,3,4] b_list = [1,4,5] 一. 差集 很明显结果是[2,3,5],下面我们说一下具体方法。 方法a.正常法:ret_list = []for item in a_list: if item not in b_list: r...转载 2018-08-12 10:46:38 · 269 阅读 · 0 评论 -
leetcode-268. 缺失数字
题目给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1: 输入: [3,0,1] 输出: 2示例 2: 输入: [9,6,4,2,3,5,7,0,1] 输出: 8说明: 你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?思路求出nums的长度,记为n然后构造...原创 2018-08-12 10:43:49 · 131 阅读 · 0 评论 -
leetcode-766. 托普利茨矩阵
题目如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。示例 1: 输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2] ] 输出: True 解释: 在上述矩阵中, 其对...原创 2018-08-07 16:42:54 · 112 阅读 · 0 评论 -
leetcode-747. 至少是其他数字两倍的最大数
题目在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1: 输入: nums = [3, 6, 1, 0] 输出: 1 解释: 6是最大的整数, 对于数组中的其他整数, 6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:...原创 2018-08-07 11:43:55 · 224 阅读 · 0 评论 -
leetcode-112. 路径总和
题目路径总和 题目描述提示帮助提交记录社区讨论阅读解答 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ ...原创 2018-09-17 15:29:12 · 124 阅读 · 0 评论 -
leetcode-108. 将有序数组转换为二叉搜索树
题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 /...原创 2018-09-17 15:13:26 · 97 阅读 · 0 评论 -
leetcode-107. 二叉树的层次遍历 II
题目给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为:[ [15,7], [9,20], [3] ]python实现...原创 2018-09-10 16:48:31 · 320 阅读 · 0 评论 -
leetcode-160. 相交链表
题目编写一个程序,找到两个单链表相交的起始节点。例如,下面的两个链表:A: a1 → a2↘c1 → c2 → c3↗B: b1 → b2 → b3在节点 c1 开始相交。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。...原创 2018-09-20 18:01:00 · 141 阅读 · 0 评论 -
leetcode-172. 阶乘后的零
题目给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。代码class Solution(object): def trailingZeroes(self, n): ...原创 2018-09-20 17:59:19 · 107 阅读 · 0 评论 -
leetcode-190. 颠倒二进制位
题目颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 ,返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。进阶:如果多次调用这个函数,你将如何优化你的算法?代码...原创 2018-09-20 17:58:00 · 140 阅读 · 0 评论 -
leetcode-41. 缺失的第一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0] 输出: 3 示例 2:输入: [3,4,-1,1] 输出: 2 示例 3:输入: [7,8,9,11,12] 输出: 1 说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。思路题目规定了时间复杂度为O(n),空间复杂度为常数级别假如只规定了时间...原创 2018-09-14 17:33:16 · 209 阅读 · 0 评论 -
leetcode-171. Excel表列序号
题目给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28示例 3:输入: “ZY”输出: 701代码class Solution(object)...原创 2018-09-19 21:21:19 · 220 阅读 · 0 评论 -
leetcode-168. Excel表列名称
题目给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: “ZY”代码class Solution(objec...原创 2018-09-19 21:11:21 · 200 阅读 · 0 评论 -
leetcode-155. 最小栈
题目设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);m...原创 2018-09-19 20:50:55 · 105 阅读 · 0 评论 -
leetcode- 141. 环形链表
题目给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?思路判断链表是否存在环,采用快慢链表,low = low.next ; high = high.next.next ; 如果链表有环,那循环一段时间后,必有low=high参照博客:判断一个单链表是否有环,若有,找出环的入口节点代码# Definition for singly-linked list.# ...原创 2018-09-18 20:32:29 · 98 阅读 · 0 评论 -
leetcode-
题目实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一...原创 2018-09-13 10:40:15 · 84 阅读 · 0 评论 -
leetcode-111. 二叉树的最小深度
题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3 / \ 9 20 / \ 15 7 返回它的最小深度 2.代码# Definition for a binary tree n...原创 2018-09-13 09:54:10 · 98 阅读 · 0 评论 -
leetcode-125. 验证回文串
题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false思路1从两边向中间判断,如果遇到不是字母或者数字,则判断下一个class Solut...原创 2018-09-18 11:21:21 · 107 阅读 · 0 评论 -
leetcode-3. 无重复字符的最长子串
题目给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb" 输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew&a原创 2018-09-10 18:49:18 · 103 阅读 · 0 评论 -
leetcode-746. 使用最小花费爬楼梯
题目数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1: 输入: cost = [10, 15, 20] 输出: 15 解释: 最低花费是...原创 2018-08-07 11:31:14 · 190 阅读 · 0 评论 -
leetcode第一遍不会的题
用于记录第一遍不会的题746. 使用最小花费爬楼梯原创 2018-08-07 11:11:39 · 309 阅读 · 0 评论 -
leetcode-448.找到所有数组中消失的数字
题目给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]思路...原创 2018-07-25 11:16:56 · 288 阅读 · 0 评论 -
LeetCode-414. 第三大的数
题目给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返...原创 2018-07-25 10:11:41 · 276 阅读 · 0 评论 -
python——Leetcode 100. 相同的树
题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1...原创 2018-06-01 15:17:23 · 895 阅读 · 0 评论 -
python——Leetcode 88. 合并两个有序数组
题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nu...原创 2018-06-01 13:55:02 · 2086 阅读 · 0 评论 -
python——Leetcode 83. 删除排序链表中的重复元素
题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路另外使用两个指针b,n,n指向要判断的结点,b指向它的前一个结点。由于第一个结点肯定不会跟前面的重复,所以从第二个结点开...原创 2018-06-01 10:56:18 · 1118 阅读 · 0 评论 -
python——Leetcode 70. 爬楼梯
题目假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 步2...原创 2018-06-01 00:06:40 · 2088 阅读 · 0 评论 -
121. 买卖股票的最佳时机
题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5...原创 2018-06-11 14:59:13 · 123 阅读 · 0 评论 -
119. 杨辉三角 II
题目给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]代码如下class Solution: def getRow(self, rowIndex): """ :type rowIndex: int ...原创 2018-06-11 13:01:32 · 253 阅读 · 0 评论 -
118. 杨辉三角
题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]思路按照杨辉三角计算的方法考虑,代码如下:class Solution: ...原创 2018-06-11 11:41:29 · 410 阅读 · 0 评论