
Java 技术流
做人要有比数
Stay foolish, Stay hungry.
展开
-
Java实现二叉树的搜索和遍历
文章目录树的搜索深度优先搜索(Deep First Search)广度优先搜索(Breadth First Search)树的遍历前序遍历(PreOrder)中序遍历(InOrder)后序遍历(PostOrder)树是一种常见的数据结构,由一系列节点和节点之间的关系组成。树的搜索和遍历是笔试和面试经常考的。最基本的树——二叉树,顾名思义,父节点最多只有两个子节点。我们先创建一个树节点类:pub...原创 2020-03-23 18:26:31 · 407 阅读 · 0 评论 -
Java实现几种最短路径问题
前言最短路径问题在现实处处可见,而且针对不同的情形都需要具体分析才会找到最好解法。最短路径Floyd算法一支部队急行军,要经过A,B,C,D据点,这四个据点之间有些之间有路到达,有些没有。为了最大的节约时间,部队指挥部需要知道任意两个据点之间的最短时间。以下是两两之间所花的时间(如下图所示): 那么如何才能让两个据点之间花的时间变短?加入第三个据点即可。因此判断条件就出来了: 两个据点之间花原创 2017-09-10 13:02:50 · 12661 阅读 · 0 评论 -
LeetCode 807. Max Increase to Keep City Skyline 城市轮廓线
题目用一个二位数组表示一个城市的建筑,二位数组的值代表建筑的高度,现在需要给建筑加高,但是又不能改变原有的城市轮廓线。保持城市轮廓线的意识是说,从左往右和从上到下看到的高度不能随着某些建筑物加高而改变。分析问题解读完成之后,其实思路就已经出来了。我们需要创建两个一位数组用于保存两个观看方向的最大值,反映在数组关系上就是,每一行的最大值组成一个数组,每一列的最大值组成另外一个数组。...原创 2018-07-09 14:45:01 · 226 阅读 · 0 评论 -
Java中的全排列代码实现
Java中的全排列代码实现全排列问题是指给定一个字符串或者数组,求解字符串中字符或数组中数字所有可能出现的排列。比如数组[0,1,2,3,4],求解该数组的全排列。我们在数学上碰到这种问题,第一反应肯定是先从0开始,找[1,2,3,4]的全排列,显然最后变成了一个递归问题。public class Permutation { List<String> list = n...原创 2018-08-09 15:45:33 · 2228 阅读 · 0 评论 -
LeetCode 20. Valid Parentheses 无效的括号匹配 Java易于理解的解法
题目Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. 给定一个只包含 ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ , ‘]’这些字符的字符串,判断该字符串是否有效。 An input string i...原创 2018-08-16 17:29:42 · 478 阅读 · 0 评论