每日一题
文章平均质量分 74
锵锵锵锵
这个作者很懒,什么都没留下…
展开
-
路径总和-leetcode112
题目描述给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明叶子节点是指没有子节点的节点。示例示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8&n原创 2020-07-07 18:25:45 · 156 阅读 · 0 评论 -
不同路径 II-leetcode63
题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:向右 -&原创 2020-07-06 11:49:46 · 112 阅读 · 0 评论 -
最长有效括号(Longest Valid Parentheses)-leetcode32
题目描述给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例输入: “(()”输出: 2解释: 最长有效括号子串为 “()”输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”思路代码class Solution {public: int longestValidParentheses(string s) { int n = s.length();//数组长度 vector<原创 2020-07-04 15:57:33 · 136 阅读 · 0 评论 -
将有序数组转换为二叉搜索树-leetcode108
题目描述将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:0/ \-3 9/ /-10 5思路每次取中间的结点为根节点,那么就能保证左右子树的高度差绝对值不超过过1,也就是高度平衡二叉树。在数组中的取值就像是二分查找一般。原创 2020-07-03 12:01:21 · 148 阅读 · 0 评论 -
有序矩阵中第K小的元素-leetcode378
题目描述给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。示例:matrix = [[ 1, 5, 9],[10, 11, 13],[12, 13, 15]],k = 8,返回 13。提示:你可以假设 k 的值永远是有效的,1 ≤ k ≤ n2 。思路:本题我能想到2种解法:归并排序:每一行都是有序的,可以全部合并在一起然后查找第k个元素就行。二分查找:原创 2020-07-02 20:12:22 · 166 阅读 · 0 评论 -
最长重复子数组-leetcode718
题目描述给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3, 2, 1] 。提示:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100思路:DP 思路:单看 A 、B数组的最后一项,如果它们俩不一样,公共子序列不包括它们俩—— 以它们俩为末尾项形成不了公共子序列:dp[原创 2020-07-01 18:02:23 · 118 阅读 · 0 评论