Leetcode
数据库练兵场
博主简介,本科毕业于北京交通大学,研究生毕业于中国人民大学。现就职于蚂蚁集团Oceanbase团队,花名-靖顺,专注于OceanBase数据库故障根因分析,性能调优。
展开
-
leetcode 371. 两整数之和(python)
不使用运算符 + 和-,计算两整数a 、b之和。示例:若 a = 1 ,b = 2,返回 3。python第一种class Solution(object): def getSum(self, a, b): """ :type a: int :type b: int :rtype: int ""...转载 2018-07-28 15:34:18 · 709 阅读 · 0 评论 -
leetcode 226. 翻转二叉树(python)
翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法...转载 2018-07-28 16:37:24 · 479 阅读 · 0 评论 -
leetcode 20. 有效的括号
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个只包括'(',')','{','}','[',']'的字符串,...原创 2018-07-29 18:09:21 · 503 阅读 · 0 评论 -
leetcode 2. 两数相加(python)
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 8071、正常思路# Defini...原创 2018-07-29 18:47:44 · 608 阅读 · 0 评论 -
leetcode 203. 删除链表中的节点(python)
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5# Definition for singly-linked list.# class ListNode(object):# def __init__(self,...原创 2018-07-26 17:40:03 · 1126 阅读 · 0 评论 -
leetcode 160. 相交链表(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】编写一个程序,找到两个单链表相交的起始节点。例如,下面的两个链表...原创 2018-07-25 22:58:27 · 1506 阅读 · 0 评论 -
leetcode 204. 计数质数
统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。厄拉多塞筛法西元前250年,希腊数学家厄拉多塞(Eeatosthese)想到了一个非常美妙的质数筛法,减少了逐一检查每个数的的步骤,可以比较简单的从一大堆数字之中,筛选出质数来,这方法被称作厄拉多塞筛法(Sieve of Eeat...原创 2018-07-26 18:40:45 · 263 阅读 · 0 评论 -
leetcode 205. 同构字符串
描述给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例输入: s = “egg”, t = “add” 输出: true 输入: s = “foo”, t = “bar” 输出: fa...原创 2018-07-26 20:27:28 · 245 阅读 · 0 评论 -
leetocde 206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?# Definition for singly-linked list.# class ListNode(object):# d...原创 2018-07-26 22:42:15 · 281 阅读 · 0 评论 -
leetcode 219. 存在重复元素 II(python)
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2...原创 2018-07-27 22:30:21 · 843 阅读 · 0 评论 -
leetcode 141. 环形链表
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】141.环形链表描述给定一个链表,判断链表中是否有环。进阶:...原创 2018-07-24 16:31:30 · 278 阅读 · 0 评论 -
leetcode 122. 买卖股票的最佳时机 II(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一...原创 2018-07-24 15:42:14 · 647 阅读 · 0 评论 -
leetcode 121. 买卖股票的最佳时机(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你...原创 2018-07-24 15:28:24 · 647 阅读 · 1 评论 -
leetcode 112. 路径总和(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条...原创 2018-07-24 14:40:43 · 980 阅读 · 0 评论 -
leetcode 111. 二叉树的最小深度(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短...原创 2018-07-24 10:28:35 · 938 阅读 · 0 评论 -
leetcode 108.将有序数组转换为二叉搜索树(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一...原创 2018-07-23 16:44:22 · 261 阅读 · 0 评论 -
leetcode 107. 二叉树的层次遍历 II
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到...原创 2018-07-23 13:07:24 · 438 阅读 · 0 评论 -
leetcode 83. 删除排序链表中的重复元素
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1...原创 2018-07-23 12:13:11 · 282 阅读 · 0 评论 -
leetcode 104. 二叉树的最大深度(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最...原创 2018-07-23 10:51:49 · 760 阅读 · 0 评论 -
leetcode 101. 对称二叉树(python)
【前言】 python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836 github链接:https://github.com/Teingi/test【正文】给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3...原创 2018-07-23 10:34:17 · 874 阅读 · 0 评论 -
leetcode 14. 最长公共前缀(python)
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入原创 2018-07-22 13:42:11 · 748 阅读 · 0 评论 -
leetcode 680. 验证回文字符串 Ⅱ(python)
一、问题描述 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。二、代码和思路1.首先一个长为n的s,要想验证最多删一个是回文串,那必须要左边...原创 2018-07-21 20:31:32 · 1119 阅读 · 1 评论 -
leetcode 661. 图片平滑器(python)
包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。示例 1:输入:[[1,1,1], [1,0,1], [1,1,1]]输出:[[0, 0, 0], [0, 0, 0], [0, 0, 0]]解释:对于点 (0...原创 2018-07-21 15:44:29 · 704 阅读 · 0 评论 -
leetcode 653. 两数之和 IV - 输入 BST(python)
给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。案例 1:输入: 5 / \ 3 6 / \ \2 4 7Target = 9输出: True 案例 2:输入: 5 / \ 3 6 / \ \2 4 7Target = ...原创 2018-07-21 13:43:00 · 803 阅读 · 0 评论 -
leetcode 637. 二叉树的层平均值
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.示例 1:输入: 3 / \ 9 20 / \ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].注意:节点值的范围在32位有符号整数范围内。# Definition f...原创 2018-07-19 22:51:39 · 760 阅读 · 0 评论 -
leetcode 606. 根据二叉树创建字符串(python)
你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)"解释: 原本将...原创 2018-07-15 20:53:39 · 1115 阅读 · 0 评论 -
leetcode 594. 最长和谐子序列(python)
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].说明: 输入的数组长度最大不超过20,000.class Solution(object): def find...原创 2018-07-15 17:38:58 · 725 阅读 · 0 评论 -
leetcode 563. 二叉树的坡度(python)
给定一个二叉树,计算整个树的坡度。一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。整个树的坡度就是其所有节点的坡度之和。示例:输入: 1 / \ 2 3输出: 1解释: 结点的坡度 2 : 0结点的坡度 3 : 0结点的坡度 1 : |2-3| = 1树的坡度...原创 2018-07-15 11:07:40 · 1028 阅读 · 0 评论 -
leetcode 543. 二叉树的直径(python)
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是...原创 2018-07-15 00:21:15 · 2188 阅读 · 0 评论 -
leetcode 541. 反转字符串 II(python)
给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。示例:输入: s = "abcdefg", k = 2输出: "bacdfeg"要求:该字符串只包含小写的英文字母。 给定字符串的长度和 k...原创 2018-07-15 00:03:47 · 782 阅读 · 0 评论 -
leetcode 538. 把二叉搜索树转换为累加树(python)
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 / ...原创 2018-07-14 21:10:56 · 752 阅读 · 0 评论 -
leetcode 530. 二叉搜索树的最小绝对差(python)
给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。示例 :输入: 1 \ 3 / 2输出:1解释:最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。注意: 树中至少有2个节点。# Definition for a binary tree node.# class TreeN...原创 2018-07-14 16:42:54 · 1200 阅读 · 0 评论 -
leetcode 521. 最长特殊序列 Ⅰ(python)
给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。示例 :输入: "aba", "cdc"...原创 2018-07-14 16:01:17 · 869 阅读 · 0 评论 -
leetcode 506. 相对名次(python)
给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: ["Gold Medal", "Silver Medal", "Bro.原创 2018-07-14 00:21:00 · 699 阅读 · 0 评论 -
leetcode 504. 七进制数(python)
给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是 [-1e7, 1e7] 。class Solution(object): def convertToBase7(self, num): """ :type num: i...原创 2018-07-13 23:19:05 · 1717 阅读 · 1 评论 -
leetcode 500. 键盘行(python)
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例1:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"]注意:你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。class Solution: def findWord原创 2018-07-13 20:44:20 · 720 阅读 · 0 评论 -
leetcode 485. 最大连续1的个数(python)
给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。思路:遍历一遍取出数组中0的位置,组成一个列表List = []。 1)如果列表为空,说明数组中没...原创 2018-07-13 12:08:50 · 1093 阅读 · 2 评论 -
leetcode 463. 岛屿的周长(python)
给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 :...原创 2018-07-10 23:11:23 · 974 阅读 · 0 评论 -
leetcode 461. 汉明距离(python)
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。class Solut...原创 2018-07-10 20:41:57 · 1651 阅读 · 0 评论 -
python—leetcode-459. 重复的子字符串
一、问题描述 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解...转载 2018-07-09 22:33:34 · 1955 阅读 · 0 评论