leetcode
fengkuang
这个作者很懒,什么都没留下…
展开
-
如何刷题?
如何刷题准备面试?原创 2022-04-03 16:46:10 · 333 阅读 · 0 评论 -
455. Assign cookies
问题描述 作为父母,你需要给你的孩子们分饼干,这些饼干有不同的大小,每个孩子都有一个让他们能满意的饼干尺寸大小,求最多能让几个孩子满意呢? 举例 解决方案 class Solution(object): def findContentChildren(self, g, s): """ :type g: List[int] :t...原创 2018-08-24 00:19:57 · 204 阅读 · 0 评论 -
63. Unique Path II
问题描述 机器人走方格,只能朝右或者下走,一次只能走一个格子。有些格子有障碍无法通过,他们的值用1表示,有些是空,用0表示可以通过。试求共有多少条不同路径可以走出去(到finish那个方格)。 解决方案 Python版动态规划: class Solution(object): def uniquePathsWithObstacles(self, obstacleGrid):...原创 2018-08-23 00:07:25 · 177 阅读 · 0 评论 -
编程:把二元查找树转成排序的双向链表
二元查找树的特点是,左孩子值 < 节点当前值 < 有孩子值。该转换要求不开辟新的节点,只是实现指针的变换。解决此题有两种思路: 1. 递归:很多有关树的题都可以用递归来解决。首先,要缕清思路。对于当前节点,首先把左子树转换成双向链表,同时返回左子树链表的最大值,也就是最后一个节点;创立最后一个节点和当前节点的双向指针关系;然后把右子树转换成双向链表,返回子链表的最小值,也就是最左边的...原创 2018-08-18 12:32:59 · 355 阅读 · 0 评论 -
87. Scramble String打乱字符串
题目描述 给出一个字符串,建立一个二叉树用于存储它,除了叶子节点,其他节点的左右孩子都是非空子树。如下图 我们采用以下方法打乱此树:从这棵树中选择一个非叶子节点,例如gr节点,我们交换它的左右子树得到新节点”rg”。向上合并得到新的字符串: 我们说”rgeat”是”great”的乱序字符串。 问题: 给定两个同等长度字符串s1和s2,判断s2是不是s1的乱序字符串。 解决方案...原创 2018-08-13 14:43:50 · 577 阅读 · 0 评论 -
94. Binary Tree Inorder Traversal
问题 二叉树的中序遍历。 思路 递归,注意递归的顺序就好了。左节点-&gt;父节点-&gt;右节点。二叉树的三序遍历,包含前序、中序、后序遍历,这里的顺序指的对象都是父节点。 答案 1. 递归版 c++版,耗时0ms: /** * Definition for a binary tree node. * struct TreeNode { * int v...原创 2018-08-13 00:01:01 · 176 阅读 · 0 评论 -
300. Longest Increasing Subsequence最长递增子序列LIS
问题描述 给出一个没有排序的整数数组,找出最长递增子序列的长度。 解决方案 DP动态规划方法 python版实现,复杂度O(n^2)。状态数组d[i]表示数组前i个数的最大递增子序列长度。转移公式为: max(d[j]+1, d[i]) class Solution(object): def lengthOfLIS(self, nums): """ ...原创 2018-08-14 15:16:41 · 171 阅读 · 0 评论 -
257. Binary Tree Paths
问题: 给出一个二叉树,返回所有的根到叶子的路径。 解题思路 1. 误区: 本题用的c++写的,题目已经提供了方法的接口,返回值是一个vector,直接应用递归的话不好写,可以再扩展一个新的递归方法。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNo...原创 2018-07-31 00:34:07 · 178 阅读 · 0 评论 -
Ugly Number
因子是2或3或5的数称作丑数。解题过程如果给定一个数,判断它是不是丑数很简单,只需依次除以2, 3,5,然后分析最后的结果,就可知道它是不是丑数。然后还有一个进阶版,就是求丑数序列的第n个丑数。这个听起来似乎很简单的样子,但是其实还暗藏玄机呢。我最开始的思路是依次求出前n个从丑数,这样做的复杂度在O(n²),超过了所规定的时间复杂度。接着,我试着去想是否可以把时间复杂度降到n,这样就是说前后的丑数是原创 2015-08-31 22:10:13 · 436 阅读 · 0 评论 -
reverse a string反转字符串
题目写出一个函数,实现输入一个字符串,返回一个反置字符串。解题过程1.首先考虑用栈的数据结构实现反置。 2.查找java中的栈的结构用法 栈的类Stack没有相应的转置方法。所以放弃使用类 3.使用字符串数组,然后在转成String类型 最初不会开一个char数组,最终经过尝试, char[] reverse = new char[len]; 最后把得到的转置字符数组转成String原创 2016-05-01 05:44:16 · 3266 阅读 · 0 评论 -
BinaryTreePath
题目要求 Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 / \ 2 3 \ 5 All root-to-leaf paths are: [“1->2->5”, “1->3”] 题目分析 1.DFS深度原创 2015-09-09 08:09:26 · 378 阅读 · 0 评论