![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
花月诗人
这个作者很懒,什么都没留下…
展开
-
剑指offer编程题(JAVA实现)——第24题:二叉树中和为某一值的路径
githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;/** * * 剑指offer编程题(JAVA实现)——第24题:二叉树中和为某一值的路径 * * 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始...原创 2018-10-13 17:37:46 · 6260 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第37题:数字在排序数组中出现的次数
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第37题:数字在排序数组中出现的次数题目描述统计一个数字在排序数组中出现的次数。public class Test37 { public static void main(String[] args) { int[] ar...原创 2018-10-14 19:59:51 · 5956 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第38题:二叉树的深度
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第38题:二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。public class Test38 { public static ...原创 2018-10-14 20:00:25 · 6180 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第39题:平衡二叉树
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第39题:平衡二叉树题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。public class Test39 { public boolean IsBalanced_Solution(TreeNode root) {...原创 2018-10-14 20:01:17 · 6204 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第40题:数组中只出现一次的数字
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第40题:数组中只出现一次的数字题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。import java.util.ArrayList;public class Test40...原创 2018-10-14 20:02:29 · 6081 阅读 · 0 评论 -
搜索局部最小算法
package class_03;/** * * 搜索局部最小 * * 给定无序数组arr, 已知arr中任意连个相邻的数都不相等。 * 写一个函数,只需返回arr中任意一个局部最小出现的位置。 * */public class Code_15_FindOneLessValueIndex { public static int getLessIndex(int[] ...原创 2018-10-08 12:49:04 · 8040 阅读 · 0 评论 -
实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式
package class_04;import java.util.Stack;/** * * 实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式 * */public class Code_01_PreInPosTraversal { public static class Node { public int value; public Node left...原创 2018-10-08 12:50:03 · 7585 阅读 · 0 评论 -
打印整个二叉树
package class_04;/** * * 福利函数 * 打印整个二叉树 * */public class Code_02_PrintBinaryTree { public static class Node { public int value; public Node left; public Node right; public Node(int...原创 2018-10-08 12:50:56 · 7607 阅读 · 0 评论 -
在二叉树中找到一个节点的后继节点
package class_04;/** * * 在二叉树中找到一个节点的后继节点 * 该结构比普通二叉树节点结构多了一个指向父节点的parent指针。假 设有一 棵Node类型的节点组成的二叉树,树中每个节点的parent指针 都正确地指向 自己的父节点,头节点的parent指向null。只给一个在 二叉树中的某个节点 node,请实现返回node的后继节点的函数。在二 叉...原创 2018-10-08 12:51:37 · 7550 阅读 · 0 评论 -
二叉树的序列化和反序列化
package class_04;import java.util.LinkedList;import java.util.Queue;/** * * 二叉树的序列化和反序列化 * */public class Code_04_SerializeAndReconstructTree { public static class Node { public int val...原创 2018-10-08 12:52:14 · 7313 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第36题:两个链表的第一和公共节点
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第36题:两个链表的第一和公共节点输入两个链表,找出它们的第一个公共结点。public class Test36 { public static void main(String[] args) { // TODO Aut...原创 2018-10-14 19:58:50 · 6125 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第35题:数组中的逆序对
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第35题:数组中的逆序对题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%100000000...原创 2018-10-14 19:57:56 · 6473 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第34题:第一次只出现一次的字符
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第34题:第一次只出现一次的字符在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).public class Test...原创 2018-10-14 19:56:21 · 6102 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第25题:复杂链表的复制
githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.HashMap;/** * * 剑指offer编程题(JAVA实现)——第25题:复杂链表的复制 * * 题目描述 * 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点, * 另一个特殊指针指向任意一个节点)...原创 2018-10-13 17:38:30 · 6438 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第26题:二叉搜索树与双向链表
githubhttps://github.com/JasonZhangCauc/JZOffer/** * * 剑指offer编程题(JAVA实现)——第26题:二叉搜索树与双向链表 * * 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。 * 要求不能创建任何新的结点,只能调整树中结点指针的指向。 * (是指不能new新的结点) */publi...原创 2018-10-13 17:43:22 · 5960 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第27题:字符串的排列
githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;import java.util.Collections;/** * * 剑指offer编程题(JAVA实现)——第27题:字符串的排列 * * 题目描述 * 输入一个字符串,按字典序打印出该字符串中字符的所...原创 2018-10-13 17:44:18 · 6420 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第28题:数组中出现次数超过一半的数字
githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.Arrays;/** * * 剑指offer编程题(JAVA实现)——第28题:数组中出现次数超过一半的数字 * * 题目描述 * 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 * 例如输入一个长度为9的数组{1...原创 2018-10-13 17:44:52 · 6003 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第29题:最小的K个数
githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;import java.util.Arrays;/** * * 剑指offer编程题(JAVA实现)——第29题:最小的K个数 * * 题目描述 * 输入n个整数,找出其中最小的K个数。 * 例如输入4,5,...原创 2018-10-13 17:45:54 · 6194 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第30题:连续子数组的最大和
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第30题:连续子数组的最大和题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含...原创 2018-10-13 17:47:21 · 6386 阅读 · 1 评论 -
剑指offer编程题(JAVA实现)——第31题:整数中1出现的次数
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第31题:整数中1出现的次数求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们...原创 2018-10-14 19:50:25 · 5901 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第32题:把数组排成最小的数
githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.Arrays;import java.util.Comparator;剑指offer编程题(JAVA实现)——第32题:把数组排成最小的数题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个...原创 2018-10-14 19:53:10 · 5969 阅读 · 0 评论 -
剑指offer编程题(JAVA实现)——第33题:丑数
githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第33题:丑数题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。public clas...原创 2018-10-14 19:55:08 · 5942 阅读 · 0 评论 -
折纸问题
package class_04;/** * * 折纸问题 【题目】 请把一段纸条竖着放在桌子上,然后从纸条的下边向 上方对折1次,压出折痕后展开。此时 折痕是凹下去的,即折痕 突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折 2 次,压出折痕后展开,此时有三条折痕,从上到下依次是下折 痕、下折痕和上折痕。 给定一 个输入参数N,代表纸条都从下边向上方连续对折N次,...原创 2018-10-08 12:52:58 · 7564 阅读 · 0 评论 -
判断一棵二叉树是否是平衡二叉树
package class_04;/** * * 判断一棵二叉树是否是平衡二叉树 * */public class Code_06_IsBalancedTree { public static class Node { public int value; public Node left; public Node right; public Node(int ...原创 2018-10-08 12:53:33 · 7438 阅读 · 0 评论 -
判断一棵树是否是搜索二叉树 判断一棵树是否是完全二叉树
package class_04;import java.util.LinkedList;import java.util.Queue;/** * * 判断一棵树是否是搜索二叉树 * 判断一棵树是否是完全二叉树 * */public class Code_07_IsBSTAndCBT { public static class Node { public int v...原创 2018-10-08 12:54:22 · 7906 阅读 · 0 评论 -
前缀树(java实现)
package class_07;/** * * 前缀树 * * 例子: * 一个字符串类型的数组arr1,另一个字符串类型的数组arr2。 * arr2中有哪些字符,是arr1中出现的?请打印 * arr2中有哪些字符,是作为arr1中某个字符串前缀出现的?请打印 * arr2中有哪些字符,是作为arr1中某个字符串前缀出现的?请打印arr2中出现次数最大的前缀。 * ...原创 2018-10-10 10:13:24 · 6923 阅读 · 0 评论 -
金条切割问题(java实现)
金条切割一块金条切成两半,是需要花费和长度数值一样的铜板的。比如长度为20的 金条,不管切成长度多大的两半,都要花费20个铜板。一群人想整分整块金 条,怎么分最省铜板?例如,给定数组{10,20,30},代表一共三个人,整块金条长度为10+20+30=60. 金条要分成10,20,30三个部分。 如果, 先把长度60的金条分成10和50,花费60 再把长度50的金条分成20和30,...原创 2018-10-10 10:19:14 · 7085 阅读 · 0 评论 -
IPO问题(java实现)
package class_07;import java.util.Comparator;import java.util.PriorityQueue;/** * IPO问题 * * 输入: * 参数1,正数数组costs * 参数2,正数数组profits * 参数3,正数k * 参数4,正数m * costs[i]表示i号项目的花费 profits[i]表示i...原创 2018-10-10 10:21:53 · 1673 阅读 · 0 评论 -
实现一个数据流中,随时可以取得中位数
package class_07;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;/** * * 一个数据流中,随时可以取得中位数 * */public class Code_04_MadianQuick { public static class Med...原创 2018-10-10 10:22:55 · 7579 阅读 · 0 评论 -
给定一个字符串类型的数组strs,找到一种拼接方式,使得把所有字符串拼起来之后形成的字符串具有最低的字典序。
package class_07;import java.util.Arrays;import java.util.Comparator;/** * * 给定一个字符串类型的数组strs,找到一种拼接方式,使得把所 * 有字 符串拼起来之后形成的字符串具有最低的字典序。 * */public class Code_05_LowestLexicography { publi...原创 2018-10-10 10:27:52 · 7990 阅读 · 0 评论 -
宣讲会问题BestArrange
package class_07;import java.util.Arrays;import java.util.Comparator;/** * * 一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目 * 的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数 * 组,里面 是一个个具体的项目),你来安排宣讲的日程,要求会 * 议室进行 的宣讲的场次最多。返回这个...原创 2018-10-10 10:29:16 · 7219 阅读 · 0 评论 -
最小路径和问题
package class_08;/** * * 给你一个二维数组,二维数组中的每个数都是正数,要求从左上 * 角走到右下角,每一步只能向右或者向下。沿途经过的数字要累 * 加起来。返回最小的路径和。 * */public class Code_07_MinPath { public static int minPath1(int[][] matrix) { return...原创 2018-10-10 10:44:16 · 703 阅读 · 0 评论 -
Money_Problem给你一个数组arr,和一个整数aim。如果可以任意选择arr中的数字,能不能累加得到aim,返回true或者false
package class_08;/** * * Money_Problem * * 给你一个数组arr,和一个整数aim。如果可以任意选择arr中的 * 数字,能不能累加得到aim,返回true或者false * */public class Code_08_Money_Problem { public static boolean money1(int[] arr, ...原创 2018-10-10 10:46:34 · 7209 阅读 · 0 评论 -
背包问题(Knapsack problem)
package class_08;/** * * 背包问题(Knapsack problem) * * 给定两个数组w和v,两个数组长度相等,w[i]表示第i件商品的 * 重量,v[i]表示第i件商品的价值。 再给定一个整数bag,要求 * 你挑选商品的重量加起来一定不能超 过bag,返回满足这个条件 * 下,你能获得的最大价值。 */public class Code_0...原创 2018-10-10 10:48:03 · 7682 阅读 · 3 评论 -
用递归翻转一个栈ReverseStackUsingRecursive
package class_06;import java.util.HashMap;import java.util.HashSet;import java.util.Map.Entry;/** * * Dijkstra算法 * 适用范围:没有权值为负数的边 * */// no negative weightpublic class Code_06_Dijkstra {...原创 2018-10-10 10:11:25 · 6929 阅读 · 0 评论 -
母牛问题。母牛每年生一只母牛,新出生的母牛成长三年后也能每年生一只 母牛……
package class_06;import java.util.Comparator;import java.util.HashSet;import java.util.PriorityQueue;import java.util.Set;/** * * prim算法 * 适用范围:要求无向图 * */// undirected graph onlypublic ...原创 2018-10-09 13:39:09 · 11301 阅读 · 0 评论 -
打印一个字符串的全部排列
package class_06;import java.util.Collection;import java.util.Comparator;import java.util.HashMap;import java.util.HashSet;import java.util.PriorityQueue;import java.util.Set;/** * * kruska...原创 2018-10-09 13:38:28 · 7569 阅读 · 1 评论 -
已知一棵完全二叉树,求其节点的个数
package class_04;/** * * 已知一棵完全二叉树,求其节点的个数 * 要求:时间复杂度低于O(N),N为这棵树的节点个数 * */public class Code_08_CompleteTreeNodeNumber { public static class Node { public int value; public Node left; ...原创 2018-10-08 12:55:08 · 8815 阅读 · 0 评论 -
布隆过滤器(java抽象)
package class_05;///**/** * 布隆过滤器 * 一个int32个bit * bit类型的数组 * 一个url经过多个hash函数得到hashcode % m 在bit数组中相应位置画黑(数组要足够大,空间越大失误率越小) * m为bit数组大小 * m = - (n*lnp)/ ( (ln2)^2 ) n为样本量,p为失误率的要求 * k = ln2*...原创 2018-10-08 12:56:25 · 7417 阅读 · 0 评论 -
认识哈希函数和哈希表
package class_05;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map.Entry;/** * * 认识哈希函数和哈希表 * */public class Code_01_HashMap { public static ...原创 2018-10-09 13:30:26 · 7098 阅读 · 4 评论