摘要:
今天在做Leetcode 102. 二叉树的层序遍历 时, 不管怎么试,每一层的输出都为空,如下图: 上述结果所使用的代码如下。 1 public List<List<Integer>> levelOrder(TreeNode root) { 2 if(root == null) return nu 阅读全文
摘要:
题目描述: 解题思路及答案: 采用动态规划来做,设dp[ i ]表示以nums[ i ]结尾的子数组的最大乘积,接下来开始分析最大乘积的来源: 1、负数相乘,得到最大乘积; 2、正数相乘,得到最大乘积; 因此,需要保存一下dp[ i - 1 ]的最大值和最小值。 1 // 维护一个最大值和一个最小值 阅读全文
摘要:
题目描述: 解题思路: 1、排序,根据三数之和的经验,首先对数组排序,这样的很话,确定第一个数字之后,就可以将本题转化成类似三数之和那种的; 2、固定第一个元素,将该题转化为三数之和问题。 具体代码: 1 class Solution { 2 public List<List<Integer>> f 阅读全文
摘要:
题目描述: 求解思路:动态规划 1、建立dp矩阵,矩阵的长度为三角形的底边元素数; 2、遍历三角形的每一行,更新dp矩阵,更新时候注意边界以及左上方元素的备份; 3、遍历结束后,找出dp中的最小元素,返回结果。 代码以及解释如下: 1 class Solution { // 空间压缩 DP 2 pu 阅读全文
摘要:
题目描述: 题目意思是,给定一个people二维数组,里面放的是1*2的一维数组,其第一个元素是身高,第二个元素是原始队列中该位置前面身高大于等于此身高的人数,题目要求将这个打乱了的队列恢复到之前的样子。 解题思路: 通过观察可以知道,应该先排个子高的人,他们的相对位置确定之后,比他们低的人进队将不 阅读全文
摘要:
题目描述: 解题思路: 遇到这种TopK问题,我首先想到的是利用大顶堆或者小顶堆,结合本题中的要求,堆里面存储内容肯定是和元素出现频率有关的,此时,如果存储的是元素频率,那么无法根据频率知道对应的元素,所以堆里面应该存储出现频率前K高的元素。另外在遍历数组时候,需要记录元素出现的频率,为了能够快速得 阅读全文
摘要:
题目描述: 解题分析: LRU是Least Recently Used,因此在插入元素时候,需要插到最前面;当达到capacity时候,需要把最后一个(即距离上次使用时间最长的那个元素)移除。因此LRU需要以下几个操作: 1、能够添加元素,并且始终将新添加的元素移到缓存最前面; 2、 在添加数据时候 阅读全文
摘要:
问题描述如下图: 问题重述:给定一个由若干个数字组成的字符串,根据图中每个数字所代表的字母,输出该数字字符串表示的所有的字母组合。 解决方法:回溯,代码参考了LeetCode的官方题解。 代码如下: 1 class Solution { 2 String[] phone = {"abc","def" 阅读全文
摘要:
原题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 解题思想: 通过观察可以发现,有效的括号都至少具有一组左括号和右括号相邻的情 阅读全文
摘要:
跟着黑马的视频做这个项目,然后我手里面的代码和视频里面的代码不一样,比如说视频里面qingcheng_common_web的配置文件是applicationContext-config.xml和applicationContext-dubbo.xml,我手里面的配置文件是applicationCon 阅读全文