LeetCode Python
文章平均质量分 53
分享一下自己刷LeetCode时的解题思路。
gavinfish
在校大学生,软件专业
展开
-
LeetCode Dungeon Game
公主被困在地牢(可以理解为矩阵或者二维数组)的右下角,骑士从左上角出发去救公主。骑士拥有一定的初始血量,如果途中他的血量少于等于0,那么营救失败。地牢中的每个格子都有一个数字,负数表示骑士收到了伤害,正数(可能为0)表示骑士回复了一定的血量。现在规定骑士只能向右或者向下前进,求骑士的初始血量至少为多少才能救出公主。原创 2016-06-14 21:46:17 · 2128 阅读 · 0 评论 -
LeetCode Binary Search Tree Iterator
在一棵二叉搜索树上实现一个迭代器,初始化参数为该二叉搜索树的根节点。当调用迭代器的next()方法时,返回该二叉搜索树中最小的元素。原创 2016-06-14 21:44:41 · 1754 阅读 · 1 评论 -
LeetCode Excel Sheet Column Number
在Excel中,列名的表示形式为A,B,C…AA,AB…,给定一个Excel的列名,将其转化为数字,其中A表示1,其后以此类推。原创 2016-06-06 22:12:00 · 1432 阅读 · 0 评论 -
LeetCode Rotate Array
将一个数组中的数字右旋k位,即所有的数字向后移k位,末尾的数字移到开头。原创 2016-06-06 21:37:26 · 1828 阅读 · 0 评论 -
LeetCode Fraction to Recurring Decimal
将一个分数用小数的形式表示,如果小数部分存在循环,将循环的部分放在圆括号内来表示无限循环。原创 2016-06-04 21:52:14 · 2922 阅读 · 0 评论 -
LeetCode Majority Element
给定一个非空的数组,其中某一数值的数量超过数组长度的一半,请找出这个值。原创 2016-06-03 21:50:37 · 2356 阅读 · 0 评论 -
LeetCode Compare Version Numbers
比较两个版本号v1和v2,如果v1 > v2,返回1,如果v1 < v2,返回-1,否则返回0。版本号是一个非空且仅包含数字和小数点的字符串。其中的小数点不再是它本来的意思,只是用来分隔数字。如”2.5”表示第二章的第五节。原创 2016-06-01 21:44:41 · 2591 阅读 · 0 评论 -
LeetCode Excel Sheet Column Title
在Excel中,列名的表示形式为A,B,C…AA,AB…,给定一个正整数,将其转换为对应的列名。原创 2016-05-31 21:40:00 · 3470 阅读 · 0 评论 -
LeetCode Factorial Trailing Zeroes
求n的阶乘末尾有几个零。原创 2016-05-29 21:39:39 · 3163 阅读 · 0 评论 -
LeetCode Largest Number
给定一组非负整数,将这些整数拼接成最大的数字。由于返回的数字可能非常大,直接返回字符串。原创 2016-05-28 22:08:27 · 3557 阅读 · 2 评论 -
LeetCode Intersection of Two Linked Lists
找出两个单向链表是在哪个节点开始合二为一的。原创 2016-05-27 21:34:31 · 3073 阅读 · 0 评论 -
LeetCode Find Peak Element
比左右两个元素大的元素我们称为顶点元素,在给定的一个数组中,没有连续的两个元素是相等的。找出这个数组中某一个顶点元素的下标,如果有多个,给出其中任意一个即可。可以默认在给定的数组两端还各有一个无穷小的元素,即数组[1]的顶点元素下标为0。原创 2016-05-26 21:38:00 · 3655 阅读 · 0 评论 -
LeetCode Min Stack
实现一个栈,这个栈除了普通的压栈、弹出、获取栈顶元素外,还要能够在获得栈中的最小元素,且这些操作的时间复杂度为O(1)。原创 2016-05-24 21:38:38 · 3078 阅读 · 0 评论 -
LeetCode Max Points on a Line
在一个平面上有n个点,求一条直线最多能够经过多少个这些点。原创 2016-05-23 21:40:50 · 4521 阅读 · 0 评论 -
LeetCode Maximum Product Subarray
在一个数组中找出一个子数组,使得子数组中的数的乘积最大。原创 2016-05-21 21:42:25 · 3936 阅读 · 1 评论 -
LeetCode Linked List Cycle II
如果给定的单向链表中存在环,则返回环起始的位置,否则返回为空。最好不要申请额外的空间。原创 2016-05-21 16:51:08 · 4280 阅读 · 0 评论 -
LeetCode Word Ladder II
给定一个起始字符串和一个目标字符串,现在将起始字符串按照特定的变换规则转换为目标字符串,求所有转换次数最少的转换过程。转换规则为每次只能改变字符串中的一个字符,且每次转换后的字符串都要在给定的字符串集合中。原创 2016-05-20 21:38:00 · 4701 阅读 · 0 评论 -
LeetCode Insertion Sort List
通过插入排序的方法排序一个链表。原创 2016-05-19 21:43:23 · 3084 阅读 · 0 评论 -
LeetCode Word Break II
给定一个目标字符串和一组单词,将目标字符串进行拆分,要求拆分出的部分在那个单词组中,拆分后的单词用空格隔开,给出所有可能的拆分情况。原创 2016-05-19 21:40:55 · 3866 阅读 · 0 评论 -
LeetCode LRU Cache
设计并实现一个支持近期最少使用缓存的数据结构。要支持存和取两个操作。根据键取值时,如果键对应的值不存在,则返回-1。存键值对时,如果容量已经满了,要把最近最少使用的键值对去除后再插入。原创 2016-05-18 21:50:19 · 2934 阅读 · 0 评论 -
LeetCode Reverse Words in a String
将一个字符串依照单词的力度进行反转。例如将”the sky is blue”转化为”blue is sky the”。原创 2016-05-17 21:41:08 · 2497 阅读 · 0 评论 -
LeetCode Evaluate Reverse Polish Notation
对表达式的后缀形式(也称为逆波兰表达式)进行计算并返回结果。操作符只有加减乘除四种,操作数为一个整数或者一个表达式。原创 2016-05-17 21:36:32 · 2996 阅读 · 0 评论 -
LeetCode Single Number II
一组数字中,有一个数字只出现一次,其余的都出现了三次,找出只出现了一次的那个数字。原创 2016-05-16 21:42:42 · 3439 阅读 · 0 评论 -
LeetCode Binary Tree Postorder Traversal
采用非递归的方法进行二叉树的后序遍历。原创 2016-05-12 21:42:20 · 135 阅读 · 0 评论 -
LeetCode Binary Tree Preorder Traversal
采用非递归的方法进行二叉树的前序遍历。原创 2016-05-12 21:41:04 · 3377 阅读 · 0 评论 -
LeetCode Binary Tree Maximum Path Sum
求一棵二叉树中最大的路径和。该路径可以是二叉树中某一节点到树中任意一个节点的所经过的路径,不允许重复经过一个节点,不必经过根节点。原创 2016-05-10 19:47:27 · 1017 阅读 · 0 评论 -
LeetCode Reorder List
将单向链表L0→L1→…→Ln-1→Ln转化为L0→Ln→L1→Ln-1→L2→Ln-2→…的形式,也就是从头部取一个节点,从尾部取一个节点,直到将原链表转化成新的链表。原创 2016-05-09 21:35:47 · 2130 阅读 · 0 评论 -
LeetCode Linked List Cycle
判断一个链表中是否存在着一个环,能否在不申请额外空间的前提下完成?原创 2016-05-06 21:31:36 · 856 阅读 · 0 评论 -
LeetCode Word Ladder
给定一个起始字符串和一个目标字符串,现在将起始字符串按照特定的变换规则转换为目标字符串,求最少要进行多少次转换。转换规则为每次只能改变字符串中的一个字符,且每次转换后的字符串都要在给定的字符串集合中。原创 2016-05-05 21:40:42 · 3992 阅读 · 0 评论 -
LeetCode Word Break
给定一个目标字符串和一组字符串,判断目标字符串能否拆分成数个字符串,这些字符串都在给定的那组字符串中。原创 2016-05-04 21:43:35 · 4053 阅读 · 0 评论 -
LeetCode Copy List with Random Pointer
一个链表中的每一个节点都有一个额外的随机指针,指向链表中的任意节点或空节点。对这个链表进行深拷贝。原创 2016-05-03 21:48:35 · 3638 阅读 · 0 评论 -
LeetCode Single Number
一个数组中除了一个数字出现过一次外,其余的数字都出现了两次,找出那个只出现一次的数字。原创 2016-05-02 21:41:33 · 3676 阅读 · 0 评论 -
LeetCode Candy
一直线上站了N个孩子,每个孩子都有一个属于自己的数字,现在按照如下规则给孩子分发糖果:每个孩子至少有一个糖果;相邻的孩子中数字比较大的那个拿的糖果也比较多。求最少要发掉多少个糖果。原创 2016-04-28 21:36:14 · 4351 阅读 · 0 评论 -
LeetCode Gas Station
在一条环形的路上有N个加油站,每个加油站里有gas[i]的汽油,从第i个加油站到第i+1个加油站需要花费cost[i]的汽油。假设汽车的油箱可以装无数的汽油,判断一辆没有油的汽车是否可以从其中的某一个加油站出发并行驶一圈后返回该加油站。如果可以的话,返回起始加油站的下标,否则返回-1。原创 2016-04-27 21:47:02 · 3843 阅读 · 0 评论 -
LeetCode Clone Graph
对一个无向图进行复制,图中的每一个节点都有自己的标签和自己相邻节点的列表。原创 2016-04-26 21:31:22 · 4523 阅读 · 0 评论 -
LeetCode Palindrome Partitioning II
将一个字符串分割成若干个子字符串,使得子字符串都是回文字符串,要求最少需要几次分割能够满足需求。原创 2016-04-25 21:23:32 · 3904 阅读 · 0 评论 -
LeetCode Palindrome Partitioning
将一个字符串分割成若干个子字符串,使得子字符串都是回文字符串,要求列出所有的分割方案。原创 2016-04-21 21:01:15 · 1483 阅读 · 0 评论 -
LeetCode Surrounded Regions
有一个二维的面板,上面由”X”或者”O”填充。现在要求将被”X”包围的”O”都改成”X”。原创 2016-04-20 14:32:02 · 1329 阅读 · 2 评论 -
LeetCode Sum Root to Leaf Numbers
一棵树的每个节点都是0-9中的某一个数字,现在把从根节点到某一个叶子节点之间所有节点的数字依次连接起来组成一个新的数字。要求所有从根节点到叶子节点组成的数字的和。原创 2016-04-19 19:38:47 · 1392 阅读 · 1 评论 -
LeetCode Longest Consecutive Sequence
给定一组无序的整数,找出其中连续整数的最长长度。原创 2016-04-14 14:46:19 · 909 阅读 · 0 评论