力扣题型
Mary~fighting
为理想而奋斗的人最美
展开
-
554. 砖墙
554. 砖墙你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和应该相等。你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。给你一个二维数组 wall ,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右每块砖的宽度的数组。你需要找出怎样画才能使这条线 穿过的砖块数量最少 ,并且返回 穿过的砖块数量原创 2021-05-04 13:50:20 · 72 阅读 · 0 评论 -
938. 二叉搜索树的范围和
938. 二叉搜索树的范围和给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32提示:树中节点数目在范围 [1, 2 * 104] 内1 <= Node.val <= 1051 <= low <= high <= 105所有 Node.val 互不相同/** * Definition for a bi原创 2021-05-04 12:38:08 · 54 阅读 · 0 评论 -
Java每日练习之根据字符出现频率排序
此题来源于力扣——451. 根据字符出现频率排序;这道题之所以进行发表是因为学习到了map存储形式的集合进行排序,留做纪念~~~题目描述:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2...原创 2019-09-14 22:01:57 · 410 阅读 · 0 评论 -
Java每日练习之求解方程
这个题是力扣上面的——640. 求解方程;题不难,写上来是因为很麻烦,调了很久,总要留做一个纪念~~~题目描述:求解一个给定的方程,将x以字符串"x=#value"的形式返回。该方程仅包含’+’,’ - '操作,变量 x 和其对应系数。如果方程没有解,请返回“No solution”。如果方程有无限解,则返回“Infinite solutions”。如果方程中只有一个解,要保证返回值 x...原创 2019-09-14 21:55:43 · 633 阅读 · 0 评论 -
递增子序列_Java
题目:递增子序列题目描述:给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。...原创 2019-07-27 21:42:08 · 287 阅读 · 0 评论 -
最长和谐子序列_Java
题目:最长和谐子序列(力扣594)题目描述:和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].说明: 输入的数组长度最大不超过20,000.解题思路:题目的不要求是子数组,(1...原创 2019-07-27 21:03:21 · 285 阅读 · 0 评论 -
相对名次_Java
题目:相对名次(力扣506)题目描述:给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”(“Gold Medal”, “Silver Medal”, “Bronze Medal”)。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: [“Gold Medal”, “Si...原创 2019-07-27 20:41:58 · 304 阅读 · 0 评论 -
括号生成_Java
题目:括号生成(力扣22)题目描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]解题思路:只有在我们知道序列仍然保持有效时才添加 ‘(’ or ‘)’。我们可以通过跟踪到目前为止放置的左括号和右括号的数...原创 2019-07-23 10:11:25 · 110 阅读 · 0 评论 -
二叉树的最大和最小深度的实现_Java
题目:(1) 二叉树的最大深度(力扣104)(2) 二叉树的最小深度(力扣111)(1) 二叉树的最大深度(力扣104)题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 /...原创 2019-07-23 09:55:18 · 188 阅读 · 0 评论 -
二叉树的层次遍历_Java
题目:二叉树的层次遍历(力扣102)题目描述:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]解题思路:提供两种实现方案:(1) 广度...原创 2019-07-23 09:28:33 · 438 阅读 · 0 评论 -
深度优先搜索和广度优先搜索_java
目录:概述以二叉树为例,实现BFS和DFS遍历与深度优先算法和广度优先算法相关的习题整理(参见下一篇博客)第一部分:关于深度优先算法和广度优先算法的概述以二叉树为例,介绍BFS和DFS遍历的过程BFS:广度优先算法(类似于水的涟漪)对于广度优先遍历二叉树,也就是按层次的去遍历。依次遍历根节点,然后是左孩子和右孩子。所以要遍历完当前节点的所有孩子,这样才是层次遍历嘛。此时我们就不能...原创 2019-07-22 22:45:29 · 241 阅读 · 0 评论 -
求众数_java
题目:求众数(力扣169)题目描述:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2解题思路:定义一个Map集合,key表示数组中出现的不同字符,val表示,该key出现的次数...原创 2019-07-22 14:05:24 · 266 阅读 · 0 评论 -
验证二叉搜索树_Java
题目:验证二叉搜索树(力扣98)题目描述:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 ...原创 2019-07-22 13:47:02 · 187 阅读 · 0 评论 -
有效的字母异位词_java
**题目:**有效的字母异位词(力扣242)题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicod...原创 2019-07-22 11:49:48 · 197 阅读 · 0 评论 -
搜索旋转排序数组_Java语言
题目:搜索旋转排序数组题目来源:力扣33题题目描述:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入:...原创 2019-07-17 14:34:38 · 142 阅读 · 0 评论