自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蛮三刀酱

微信公众号:蛮三刀酱、后端技术漫谈

  • 博客(17)
  • 收藏
  • 关注

原创 [Leetcode][python]Copy List with Random Pointer/复制带随机指针的链表

题目大意一个链表中的每一个节点都有一个额外的随机指针,指向链表中的任意节点或空节点。对这个链表进行深拷贝。(要拷贝随即指针)解题思路有两种思路,参考: http://bookshadow.com/weblog/2015/07/31/leetcode-copy-list-random-pointer/ https://shenjie1993.gitbooks.io/leetcode-python/

2017-11-21 02:47:46 583

原创 [Leetcode][python]Candy/分发糖果

题目大意一直线上站了N个孩子,每个孩子都有一个属于自己的数字,现在按照如下规则给孩子分发糖果:每个孩子至少有一个糖果;相邻的孩子中数字比较大的那个拿的糖果也比较多。求最少要发掉多少个糖果。解题思路贪心法。 想象下,先从前面开始升序遍历,所有升序的就从1开始给,再从后面开始升序遍历,所有升序的就从1开始给,遇到所有需要改变值的节点,对比想要改成的值与之前的值,取最大的保证其对两边都是最大。代码cla

2017-11-18 05:06:05 1172

原创 [Leetcode][python/Java]Gas Station/加油站

题目大意Gas Station解题思路贪心法。但其实需要证明,证明详见: http://bookshadow.com/weblog/2015/08/06/leetcode-gas-station/ 看懂证明,才能看懂代码代码class Solution(object): def canCompleteCircuit(self, gas, cost): """

2017-11-17 08:18:41 795

原创 [Leetcode][python]Palindrome Partitioning/Palindrome Partitioning II/分割回文串/分割回文串II

Palindrome Partitioning题目大意将一个字符串分割成若干个子字符串,使得子字符串都是回文字符串,要求列出所有的分割方案。解题思路DFS代码class Solution(object): def partition(self, s): """ :type s: str :rtype: ...

2017-11-16 07:53:49 1448

原创 [Leetcode][python]Surrounded Regions/被围绕的区域

题目大意有一个二维的面板,上面由”X”或者”O”填充。现在要求将被”X”包围的”O”都改成”X”。解题思路参考: https://shenjie1993.gitbooks.io/leetcode-python/130%20Surrounded%20Regions.html 直接去找被X包围的O比较麻烦,不如转换一下思路,找出哪些O是没有被X包围的。首先在面板四周的O肯定是没有被...

2017-11-16 05:33:16 1177

原创 [Leetcode][python]Sum Root to Leaf Numbers

题目大意一棵树的每个节点都是0-9中的某一个数字,现在把从根节点到某一个叶子节点之间所有节点的数字依次连接起来组成一个新的数字。要求所有从根节点到叶子节点组成的数字的和。解题思路DFS, 到了新的叶子节点就将preSum*10+root.val代码class Solution(object): def sumNumbers(self, root): """ :

2017-11-15 04:14:13 576

原创 [Leetcode][python]Longest Consecutive Sequence/最长连续序列

题目大意给定一组无序的整数,找出其中连续整数的最长长度。 注意点: 算法时间复杂度为O(n)解题思路哈希表,遍历每个数,从中间扩展左右两边,不断刷新最长长度代码class Solution(object): def longestConsecutive(self, nums): """ :type nums: List[int] :rtyp

2017-11-14 12:49:18 815

原创 [Leetcode][python]Single Number/Single Number II

Single Number题目大意一个数组中除了一个数字出现过一次外,其余的数字都出现了两次,找出那个只出现一次的数字。 注意点: 算法时间杂度要求为O(n) 空间复杂度为O(1)解题思路参考:http://www.cnblogs.com/zuoyuan/p/3719584.html 这题考的是位操作。只需要使用异或(xor)操作就可以解决问题。异或操作的定义为:x ^ 0 = x; x ^

2017-11-12 13:27:03 893

原创 [Leetcode][python]Word Ladder/Word Ladder II/单词接龙/单词接龙 II

Word Ladder题目大意给定一个起始字符串和一个目标字符串,现在将起始字符串按照特定的变换规则转换为目标字符串,求最少要进行多少次转换。转换规则为每次只能改变字符串中的一个字符,且每次转换后的字符串都要在给定的字符串集合中。解题思路参考:https://shenjie1993.gitbooks.io/leetcode-python/127%20Word%20Ladder.html 题目在20

2017-11-12 08:00:07 1515

原创 [Leetcode][python]Binary Tree Maximum Path Sum/二叉树中的最大路径和

题目大意求一棵二叉树中最大的路径和。该路径可以是二叉树中某一节点到树中任意一个节点的所经过的路径,不允许重复经过一个节点,不必经过根节点。解题思路参考: https://shenjie1993.gitbooks.io/leetcode-python/124%20Binary%20Tree%20Maximum%20Path%20Sum.html 我们现在要求最大路径和,那么就要分别得到左右两条路径

2017-11-09 01:03:52 1930 2

原创 [Leetcode][python]Valid Palindrome/验证回文串

题目大意判断一个字符串是否是回文字符串,只考虑字母和数字,并且忽略大小写。 注意点: 空字符串在这里也定义为回文串解题思路去掉除了数字和字母之外的字符isalnum() 都改为小写将数组(字符串)反过来,判断是否相等代码class Solution(object): def isPalindrome(self, s): """ ...

2017-11-08 08:04:14 606

原创 [Leetcode][python]Triangle/三角形最小路径和

题目大意参考:https://shenjie1993.gitbooks.io/leetcode-python/120%20Triangle.html 将一个二维数组排列成金字塔的形状,找到一条从塔顶到塔底的路径,使路径上的所有点的和最小,从上一层到下一层只能挑相邻的两个点中的一个。 注意点: 最好将空间复杂度控制在O(n),n是金字塔的高度解题思路二维DP金字塔为:...

2017-11-08 04:43:45 4451

原创 [Leetcode][python]Best Time to Buy and Sell Stock I/II/III/买卖股票的最佳时机

Best Time to Buy and Sell Stock题目大意给定每天的股票价格,如果只允许进行一轮交易,也就是买进一次和卖出一次,求所能获得的最大的利润。解题思路DP或者直接解决代码DPclass Solution(object): def maxProfit(self, prices): """ :...

2017-11-07 04:33:48 1648

原创 [Leetcode][python]Populating Next Right Pointers in Each Node I and II/填充同一层的兄弟节点

Populating Next Right Pointers in Each Node题目大意为二叉树的节点都添加一个next指针,指向跟它在同一高度的右边的节点,如果右边没有节点,就指向None。解题思路递归,容易看懂。代码# Definition for binary tree with next pointer.# class TreeLinkNode:# def __init__

2017-11-06 12:00:29 1065

原创 [Leetcode][python]Distinct Subsequences/不同子序列

题目大意给定S和T两个字符串,问把通过删除S中的某些字符,把S变为T有几种方法?解题思路动态规划,设dp[i][j]为到S[i] T[j]位置的方法数:dp[i][0]=1 (T为空的话,S只能全部删除)S[i]==T[j] : dp[i][j]=dp[i-1][j] + dp[i-1][j-1] (两字符串相等,要么跳过不匹配,要么匹配)S[i]!=T[j]: dp[...

2017-11-05 06:51:22 842

原创 [Leetcode][python]Interleaving String/交错字符串

题目大意输入三个字符串s1、s2和s3,判断第三个字符串s3是否由前两个字符串s1和s2交替而成且不改变s1和s2中各个字符原有的相对顺序。解题思路动态规划,思路容易理解。 创建二位数组,然后[0][0]是True 首行首列则是假设其中一个字符串为空时,另一个字符串是否与目标字符串一一对应。 最后从[1][1]开始遍历,拿数字,与目标对应则那个方向的为True。dp[...

2017-11-04 04:07:57 1334

原创 [Leetcode][python]Restore IP Addresses/复原IP地址

题目大意来自: https://shenjie1993.gitbooks.io/leetcode-python/093%20Restore%20IP%20Addresses.html 找出一个由纯数字组成的序列能够构成的不同的IP地址。 注意点: 每个IP段的范围是0-255 要用整个序列,而不是它的子集 例子: 输入: s = “25525511135” 输出: [“255.255

2017-11-03 06:47:48 1607

空空如也

空空如也

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

TA关注的人

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