自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode--Minimum Path Sum (最小路径和)Python

题目:给定一个m*n的数组,数组中包含非负数,从该数组左上角到该数组右下角的最小路径和。(只能向下或者向右移动)。数组格式如下:[[1,3,1],[1,5,1],[4,2,1]]解题思路:考虑使用递归或者动态规划来解题:楼主刚开始用递归实现了一遍,发现超时了,改为动态规划后AC。故只解释动归代码:从左上角开始对数组进行遍历,将grid(数组)内容存储为走到当前位置的最短

2017-11-17 11:19:20 1761

原创 LeetCode--Single Number(单独数字)Python

题目:给定一个数组,这个数组所有的数字都是成对出现的,只有一个数字是单独的,要求找出这个单独的数字。解题思路:考虑用字典,遍历数组,将数组内容作为key存入字典,之后每一次存入字典前判断该数字是否存在于字典中,若存在,则弹出,否则存入。经过这个循环,只有单独的那个数字有存入没有弹出,故Dict中剩余的数字则是那个单独数字。代码(Python):class Solution(ob

2017-11-30 13:06:08 1201

原创 LeetCode--Longest Consecutive Sequence(最长连续序列)Python

题目:给定一个乱序的整数数组,找到最长连续元素序列的长度。比如给定数组[100, 4, 200, 1, 3, 2],其中最长的连续数组为[1,2,3,4],所以返回的最大长度为4。解题思路:因为考虑要降低复杂度,所以先将数据遍历一遍,存储到字典中。再从字典中不断拿出当前的整数相邻两个整数是否在字典中,若存在,则弹出这两个数,并将count+2,若当前整数相邻的两个数都不在字典中,则判断

2017-11-30 12:07:36 1154

原创 LeetCode--Largest Number(最大数字)Python

题目:给定一个包含非负数的列表,重新排列,使其最终组合之后的整数最大。例如:给定列表[3, 30, 34, 5, 9], 返回的最大整数是9534330解题思路:相当于对列表中的数字进行排序。使用冒泡排序、快排等都可以。重要的是怎么决定两个整数的先后顺序,如3、30和34:正确的顺序是34330,正确的判断思路是根据组合后的数字哪个大进行排序。代码(Python):class

2017-11-29 15:13:09 1288

原创 LeetCode--Word Break(分词)Python

题目:给定一个字符串s,和一个词典Dict。判断该字符串s是否可以完全拆分为Dict中的单词。解题思路:考虑使用递归的方法。用output来存储从0到当前位置的字符串是否可以完全拆分为Dict中的单词。判断当前字符串是否可以完全拆分的问题,可以化解为从之前所有可以完全拆分的位置到当前位置的字符串是否在给定词典中,若在,则当前位置可以完全拆分,否则不行。该方法需要用一个列表来存储当前字符

2017-11-29 14:20:50 678

原创 LeetCode--First Missing Positive (第一个丢失的正整数)Python

题目:给定一个未排序的整数数组,找到第一个丢失的正整数。例如,给定 [1,2,0] 返回3,给定 [3,4,-1,1] 返回2。解题思路:要求O(n)的复杂度,可以用哈希表来存储1到n的内容。先遍历一遍原数组,将原数组中的1-n的整数存入哈希表对应0到n-1的位置。再对哈希表进行遍历,遍历到存储内容为空的,则返回遍历到整数的索引值,即为第一个丢失的正整数。注意考虑边界条

2017-11-27 11:57:51 809

原创 LeetCode--Trapping Rain Water(捕获雨水)Python

题目:假设n个非负整数代表一个海拔图,每个条的宽度为1,计算它能在雨后捕获多少水。For example,例如, lì例rú如,Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6.给定数组[ 0,1,0,2,1,0,1,3,2,1,2,1 ],海拔图如下,返回6。解题思路:观

2017-11-27 11:30:34 625

原创 LeetCode--Plus one(加1)Python

题目:给定一个数组,数组的每一位表示一个数字,这个数组连起来表示一个整数,给这个整数加一,返回加一后的数组。解题思路:题目比较简单,直接给代码。代码(Python):class Solution(object): def plusOne(self, digits): """ :type digits: List[int]

2017-11-27 10:35:07 548

原创 LeetCode--Excel Sheet Column Number(Excel表格的列名转数字)Python

题目:给定一个Excel表格的列名,将该列名转为对应数字,样例如下:A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28解题思路:对字符串进行遍历代码(Python):class Solution(object): def titleToNumber(self, s): """

2017-11-24 15:16:17 1484 1

原创 LeetCode--Add Two Numbers(求两个链表的和)Python

题目:给定两个链表,从头结点开始,计算两个链表的和。样例如下:Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8解题思路:使用递归来读取链表内容。代码(Python):# Definition for singly-linked list.# class ListNode(object):# def

2017-11-24 12:57:08 421

原创 LeetCode--Sum Root to Leaf Numbers(Python)

题目:给定一棵二叉树,二叉树的每个节点只包含0-9这10个数字。将该树从根节点读到叶节点组成一个整数。返回读到的所有整数之和。解题思路:通过递归读取树的各个节点(中序遍历)。代码(Python):# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):

2017-11-23 16:09:50 199

原创 LeetCode--Best Time to Buy and Sell Stock(最大利润)Python

题目:给定一个数组,第i个位置表示第i天的价格,要求只能完成一组交易(买入一次+卖出一次),求出最大利润。解题思路:对数组进行遍历,保存当前的最小买入价格和当前的最大利润,遍历结束后,返回最终的最大利润即可。代码(python):class Solution(object): def maxProfit(self, prices): """

2017-11-23 15:39:46 567

原创 LeetCode--Same Tree(判断两个二叉树是否相同)Python

题目:给定两个二叉树,判断这两个二叉树是否完全相同。解题思路:直接通过中序遍历、前序遍历或者后续遍历遍历这两棵二叉树,得到两个list结果,判断这两个list是否相同,相同返回True,否则返回False。需要注意考虑叶子节点的情况。代码(Python):# Definition for a binary tree node.# class TreeNode(object):

2017-11-17 14:38:47 2203

原创 LeetCode--Rotate Image(旋转图像)Python

题目:给定一个n*n的数组,将其顺时针旋转90度,要求直接对原数组进行处理,不要使用多余的空间或者新建数组旋转。输入输出样例:Given input matrix = [ [1,2,3], [4,5,6], [7,8,9]],rotate the input matrix in-place such that it becomes:[ [7,4,1], [

2017-11-17 14:01:00 956

原创 LeetCode--Length of Last Word (计算最后一个单词的长度)Python

题目:给定一个字符串,字符串中包含空格和单词,计算最后一个单词的长度。解题思路:从最后一个单词开始计算长度,直到检测到空格,最后一个单词计算结束,返回当前的长度。代码(Python):class Solution(object): def lengthOfLastWord(self, s): """ :type s: str

2017-11-17 10:50:11 882

原创 LeetCode--Count and Say(Python)

题目:The count-and-say sequence is the sequence of integers with the first five terms as following:1.     12.     113.     214.     12115.     111221第二条是对第一条的统计,‘1’包含1个1,则返回的是‘11’,第三条统计第二条

2017-11-17 10:37:25 312

原创 LeetCode--Decode Ways(解码方式)Python

题目:一个含有字母A-Z的信息通过使用下面的映射进行编码:'A' -> 1'B' -> 2...'Z' -> 26比如,给出字符‘12’,则其可能的编码是‘AB’(1和2)或者‘L’(12).题目给出一个编码后的数字字符串,求可能的编码方式有多少种解题思路:考虑使用动态规划或者递归来解决问题。因为判断“567123”的编码方式可以转为判断“56712

2017-11-16 14:36:35 869

原创 LeetCode--Generate Parentheses(括号组合排列)Python

题目:给定n组括号,要求给出所有正确的括号组合。如当n是3时,返回内容如下:[  "((()))",  "(()())",  "(())()",  "()(())",  "()()()"]解题思路:考虑用递归解决,将大问题化解为小问题,只考虑当前的情况,若左括号数大于右括号数,则当前可以增加左括号或者右括号。若左括号数等于右括号数,则当前只可以增加左括号。若

2017-11-08 19:55:50 747

原创 LeetCode--Implement strStr() Python

题目:给定一个字符串haystack和一个待匹配字符串needle,返回haystack中第一次出现needle的小标位置。若haystack中不包含needle,则返回-1.解题思路:对haystack进行遍历,在每个位置判断一下haystack当前与needle等长的子串和needle是否相同,若相同,则返回当前下标;若循环结束还未返回,则返回-1.需要注意边界条件。代码(py

2017-11-06 16:47:27 203

原创 LeetCode--Merge Two Sorted Lists(合并两个有序链表)Python

题目:给定两个有序链表,返回将这两个链表合并后的有序链表解题思路:对于链表操作,需要注意指针的使用,用两个指针遍历这两个链表,将当前两个指针的较小的一个内容接在返回链表的最后,再将该较小指针后移一位,直到其中一个指针的内容为空,则结束代码(python):# Definition for singly-linked list.# class ListNode(object):

2017-11-03 14:02:42 1093

空空如也

空空如也

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

TA关注的人

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