algorithm
文章平均质量分 53
liu_12345_liu
这个作者很懒,什么都没留下…
展开
-
二叉树的深度(递归和非递归)
一共两种实现方法,第一种使用递归进行遍历,取左右子树最大的深度加一。第二种实现方式,使用队列进行广度优先遍历。每遍历一层给深度加一// 树的节点public class TreeNode { int mValue; TreeNode mLeftNode; TreeNode mRightNode; public TreeNode(int val) { ...原创 2019-11-24 20:06:00 · 612 阅读 · 0 评论 -
二叉搜索树中的第k大节点
这是自己第一次面试,之前没有看过面经,没有刷过oj,结果就很在意料之中了,现将该题记录,以缅怀自己逝去的鹅场工作机会。题目:给定一颗二叉搜索树,请找出其中第k大的节点。例如,在下图中,第三大节点的值是4。首先什么是二叉搜索树?百度百科的定义:二叉搜索树它或者是一颗空树,或者是是具有以下性质的二叉树:若它的左子树不为空,则左子树上的所有节点的值均小于它的根节点的值,若他的右子树不为空,则他的...原创 2019-11-17 23:35:10 · 255 阅读 · 0 评论 -
两个单词之间的编辑距离
class 编辑距离 { public static int minDistanceWay1(String word1, String word2) { return recursion(word1, word2, word1.length(), word2.length()); } private static int recursion(String ...原创 2019-10-13 23:11:02 · 1893 阅读 · 0 评论 -
平行课程leetcode1136(拓扑排序)
已知有 N 门课程,它们以 1 到 N 进行编号。给你一份课程关系表 relations[i] = [X, Y],用以表示课程 X 和课程 Y 之间的先修关系:课程 X 必须在课程 Y 之前修完。假设在一个学期里,你可以学习任何数量的课程,但前提是你已经学习了将要学习的这些课程的所有先修课程。请你返回学完全部课程所需的最少学期数。如果没有办法做到学完全部这些课程的话,就返回 -1。示例 ...原创 2019-10-09 23:23:36 · 862 阅读 · 0 评论 -
和为k的最长子数组的长度
给定一个数组 nums 和一个目标值 k,找到和等于 k 的最长子数组长度。如果不存在任意一个符合要求的子数组,则返回 0。注意: nums 数组的总和是一定在 32 位有符号整数范围之内的。示例 1:输入: nums = [1, -1, 5, -2, 3], k = 3输出: 4解释: 子数组 [1, -1, 5, -2] 和等于 3,且长度最长。示例 2:输入: nu...原创 2019-10-09 23:32:54 · 6297 阅读 · 0 评论 -
java实现字符串的全排列和字符串的所有组合
题目:输入一个字符串,求出该字符串的所有的排列,例如输入abc,则可以得到的所有的字符串的排列为abc,acb,bac,bca,cab,和cba。如何求一个字符串的全排列呢,猛然间看到这个题目自己一下子还真的想不出来如何求解。当我们拿到一个字符串手工去求解的时候,如何得到字符串的所有的排列,当我们拿到字符串abc的时候,我们求他的全排列的话,为了知道应该继续排列哪里,我们一般情况下给是先固定...原创 2019-09-13 11:38:20 · 2978 阅读 · 0 评论 -
字符串相乘
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:n...原创 2019-10-02 16:28:29 · 138 阅读 · 0 评论 -
快速排序算法实现(随机生成pivot)
public class QuickSort { public static void main(String[] args) throws Exception { QuickSort quickSort = new QuickSort(); int[] data = new int[]{4, 1, 2, 3, 5, 0, 1, 9}; ...原创 2019-10-03 21:17:47 · 695 阅读 · 0 评论
分享