leetcode
xzhws
推荐系统,数据挖掘,机器学习
展开
-
leetcode 887. Super Egg Drop(动态规划,二分查找,剪枝)
文章目录题目链接题目大意样例分析解题思路分析1:记忆化搜索(O(KN^2))分析2:二分搜索剪枝O(KNlogN)参考资料题目链接leetcode 887. Super Egg Drop题目大意有N层楼,K个鸡蛋,判断移动多少次鸡蛋可以知道鸡蛋最开始摔碎的楼层。需要注意的是,鸡蛋如果在k层没被摔碎,下一次还可以直接从1层拿到k+1层进行实验;反之如果在k层摔碎了,这个鸡蛋就没用了。样例分析样例 1:Input: K = 1, N = 8Output: 8分析:如果只有一个鸡蛋的话,那么只原创 2020-11-06 18:54:34 · 309 阅读 · 0 评论 -
leetcode 95. Unique Binary Search Trees II、140. Word Break II(自顶向下解决问题)
思考自顶向下解决问题的模式95. Unique Binary Search Trees题目链接leetcode 95. Unique Binary Search Trees题意给定一个整数n,输出把1到n所有值作为树结点的所有可能的二叉搜索树的组合。思路二叉搜索树的定义:左边结点的值 < 根节点的值 < 右边结点的值。那么根据根节点的不同,1到n的所有值尽可能作为根节点。这里我们不妨假设k(1<=k<=n)为某一颗二叉搜索树的根节点。那么左子树的根节点的可能值为[1,k原创 2020-10-08 20:23:34 · 249 阅读 · 4 评论 -
leetcode 639. Decode Ways II (动态规划)
639. Decode Ways II题目链接639. Decode Ways II 题意:A到Z匹配1到26整数,*匹配1到9的任何数字。给定一个字符串,输出可能有的所有匹配情况。思路这题是91. Decode Ways的加强版,我们不妨先考虑简单的情况,比如输入为"112",那么可能有点转化方式为:1 1 2;11 2; 1 12。对于第三个字符2,仅考虑他本身时,可以由1 1, 11 转化而来;当考虑两个字符时(即12时),只能由第一个字符转化而来, 也就是1 12。所以我们不妨记dp[i原创 2020-09-29 11:22:37 · 150 阅读 · 0 评论 -
leetcode 10,44 (字符串匹配-动态规划解法汇总)
文章目录44. Wildcard Matching题目链接:题意:题目思路:10. Regular Expression Matching题目链接:题意:题目思路:44. Wildcard Matching题目链接:44. Wildcard Matching题意:给定两个字符串s, p,其中p可能含有特殊字符?和*,判断能否用p来匹配s。 其中:‘?’ Matches any single character.‘*’ Matches any sequence of characters (in原创 2020-09-28 22:38:00 · 486 阅读 · 0 评论 -
leetcode 23. Merge k Sorted Lists (归并排序)
23. Merge k Sorted ListsYou are given an array of k linked-lists lists, each linked-list is sorted in ascending order.Merge all the linked-lists into one sorted linked-list and return it.Example 1:Input: lists = [[1,4,5],[1,3,4],[2,6]]Output: [1,1,2,3原创 2020-09-18 10:33:01 · 532 阅读 · 0 评论 -
leetcode 32. Longest Valid Parentheses 84. Largest Rectangle in Histogram (栈的艺术)
32. Longest Valid ParenthesesGiven a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.Example 1:Input: "(()"Output: 2Explanation: The longest valid parentheses substring is "()转载 2020-09-16 22:08:33 · 103 阅读 · 0 评论 -
leetcode 152. Maximum Product Subarray(动态规划,递推)
152. Maximum Product SubarrayGiven an integer array nums, find the contiguous subarray within an array (containing at least one number) which has the largest product.Example 1:Input: [2,3,-2,4]Output: 6Explanation: [2,3] has the largest product 6.E原创 2020-09-15 16:45:48 · 150 阅读 · 0 评论 -
leetcode 142. Linked List Cycle II(Floyd判圈算法、双指针)
题目链接leetcode 142. Linked List Cycle II题目大意给定一个链表,判断链表内部是否含有环。输出环的起始位置。floyd判圈算法/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solutio原创 2020-09-10 20:32:53 · 108 阅读 · 0 评论 -
leetcode 421. Maximum XOR of Two Numbers in an Array Medium(trie树)
题目链接https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/Given a non-empty array of numbers, a0, a1, a2, … , an-1, where 0 ≤ ai < 231.Find the maximum result of ai XOR aj, where...原创 2019-03-31 00:25:37 · 168 阅读 · 0 评论 -
leetcode 113. 路径总和 II
题目链接:113. 路径总和 II题目:给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \...原创 2018-12-07 12:58:33 · 169 阅读 · 0 评论 -
leetcode112. 路径总和
题目链接:112. 路径总和题目:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / ...原创 2018-12-07 11:52:08 · 114 阅读 · 0 评论 -
leetcode863. 二叉树中所有距离为 K 的结点
题目链接:https://leetcode-cn.com/problems/all-nodes-distance-k-in-binary-tree/题目:给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。示例 1:输入:root = [3,5,1,6,2,...转载 2018-12-08 18:35:52 · 908 阅读 · 0 评论 -
leetcode236. 二叉树的最近公共祖先
给定一棵二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义: “对于有根树T的两个结点u、v,最近公共祖先表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。”(一个节点也可以是它自己的祖先)例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5] _______3______ ...原创 2018-06-01 07:05:52 · 7237 阅读 · 0 评论 -
leetcode5. 最长回文子串(动态规划)
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解题思路:采用动态规划的思想,如果p[i][j]为true,那么p[i+1][j-1]也为true。首先需要求出长度为1和长度为2的字符...转载 2018-05-31 15:12:48 · 3300 阅读 · 0 评论 -
leetcode124. 二叉树中的最大路径和
给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不需要经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10 / \ 9 20...原创 2018-05-31 09:37:25 · 3443 阅读 · 2 评论 -
leetcode-98. 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 ...转载 2018-05-28 21:59:33 · 1064 阅读 · 0 评论 -
leetcode129. 求根到叶子节点数字之和
题目链接:129. 求根到叶子节点数字之和题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25...原创 2018-12-07 18:56:18 · 429 阅读 · 0 评论 -
leetcode222. 完全二叉树的节点个数
题目链接:222. 完全二叉树的节点个数题目:给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ /4 5 6输出: ...原创 2018-12-07 21:47:37 · 333 阅读 · 0 评论 -
leetcode652. 寻找重复的子树
题目链接:https://leetcode-cn.com/problems/find-duplicate-subtrees/题目:给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。两棵树重复是指它们具有相同的结构以及相同的结点值。示例 1: 1 / \ 2 3 / / \ 4...转载 2018-12-08 10:44:24 · 1543 阅读 · 0 评论 -
leetcode662. 二叉树最大宽度
题目链接:https://leetcode-cn.com/problems/maximum-width-of-binary-tree/题目:给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度...转载 2018-12-08 14:37:04 · 1779 阅读 · 0 评论 -
leetcode95. 不同的二叉搜索树 II
给定一个整数n,生成所有由 1 ...n为节点所组成的二叉搜索树。示例:输入: 3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 ...转载 2018-06-03 18:52:47 · 2235 阅读 · 0 评论