自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JZ

www.jmzhang.top

原创 设计模式——普通工厂模式

1.Car.interfacepackage SimpleFactory;/** * 汽车产品 * 相当于Product */public interface Car { public void name();}2.BigCar.javapackage SimpleFactory;/** * 大汽车 */public class BigCar implements...

2019-09-20 16:27:55 127

原创 设计模式——简单工厂模式

1.Car.interfacepackage SimpleFactory;/** * 汽车产品 * 相当于Product */public interface Car { public void name();}2.BigCar.javapackage SimpleFactory;/** * 大汽车 */public class BigCar implements...

2019-09-20 15:56:10 70

原创 Word如何选中所有图片

我的Word版本是word2016。首先点击图片,然后点击【选择】在下拉列表中选择【选中所有格式类似的文本】即可选中所有图片啦。网上都说word没有这个功能,其实是很多人都没发现一些功能的妙用!...

2018-11-22 16:59:52 13518 2

原创 Maven项目管理工具全方位详解

Maven项目管理工具全方位详解1. Maven的简介1.1什么是mavenMaven翻译为“专家”、“内行”。它是apache下的一个开源项目,是一个项目管理工具,是纯java开发,并且只是用来管理java项目的。1.2Maven好处(1)平时我们开发项目时,一般都是一个项目就是一个工程。我们划分模块时,都是使用package来进行划分。但是,当项目很大时,有很多子模块时,即使是pac...

2018-11-05 13:22:23 396

原创 三星通信研究院上机试题

You are to find the closest common ancestor of two vertices in a binary tree. For example, the common ancestors of vertices 8 and 13 in the figure below are vertices 3 and 1. Among them, vertex 3 is t...

2018-10-17 21:19:53 8760

原创 剑指offer编程题(JAVA实现)——第40题:数组中只出现一次的数字

githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第40题:数组中只出现一次的数字题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。import java.util.ArrayList;public class Test40...

2018-10-14 20:02:29 5940

原创 剑指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 6034

原创 剑指offer编程题(JAVA实现)——第38题:二叉树的深度

githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第38题:二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。public class Test38 { public static ...

2018-10-14 20:00:25 6032

原创 剑指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 5840

原创 剑指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 5977

原创 剑指offer编程题(JAVA实现)——第35题:数组中的逆序对

githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第35题:数组中的逆序对题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%100000000...

2018-10-14 19:57:56 5850

原创 剑指offer编程题(JAVA实现)——第34题:第一次只出现一次的字符

githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第34题:第一次只出现一次的字符在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).public class Test...

2018-10-14 19:56:21 5979

原创 剑指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 5830

原创 剑指offer编程题(JAVA实现)——第32题:把数组排成最小的数

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.Arrays;import java.util.Comparator;剑指offer编程题(JAVA实现)——第32题:把数组排成最小的数题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个...

2018-10-14 19:53:10 5809

原创 剑指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 5797

原创 剑指offer编程题(JAVA实现)——第30题:连续子数组的最大和

githubhttps://github.com/JasonZhangCauc/JZOffer剑指offer编程题(JAVA实现)——第30题:连续子数组的最大和题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含...

2018-10-13 17:47:21 6175

原创 剑指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 6031

原创 剑指offer编程题(JAVA实现)——第28题:数组中出现次数超过一半的数字

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.Arrays;/** * * 剑指offer编程题(JAVA实现)——第28题:数组中出现次数超过一半的数字 * * 题目描述 * 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 * 例如输入一个长度为9的数组{1...

2018-10-13 17:44:52 5858

原创 剑指offer编程题(JAVA实现)——第27题:字符串的排列

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;import java.util.Collections;/** * * 剑指offer编程题(JAVA实现)——第27题:字符串的排列 * * 题目描述 * 输入一个字符串,按字典序打印出该字符串中字符的所...

2018-10-13 17:44:18 6276

原创 剑指offer编程题(JAVA实现)——第26题:二叉搜索树与双向链表

githubhttps://github.com/JasonZhangCauc/JZOffer/** * * 剑指offer编程题(JAVA实现)——第26题:二叉搜索树与双向链表 * * 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。 * 要求不能创建任何新的结点,只能调整树中结点指针的指向。 * (是指不能new新的结点) */publi...

2018-10-13 17:43:22 5825

原创 剑指offer编程题(JAVA实现)——第25题:复杂链表的复制

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.HashMap;/** * * 剑指offer编程题(JAVA实现)——第25题:复杂链表的复制 * * 题目描述 * 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点, * 另一个特殊指针指向任意一个节点)...

2018-10-13 17:38:30 6211

原创 剑指offer编程题(JAVA实现)——第24题:二叉树中和为某一值的路径

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;/** * * 剑指offer编程题(JAVA实现)——第24题:二叉树中和为某一值的路径 * * 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始...

2018-10-13 17:37:46 6085

原创 剑指offer编程题(JAVA实现)——第23题:二叉搜索树的后序遍历序列

githubhttps://github.com/JasonZhangCauc/JZOffer/** * * 剑指offer编程题(JAVA实现)——第23题:二叉搜索树的后序遍历序列 * * 题目描述 * 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 * 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 * ...

2018-10-13 17:37:14 5876

原创 剑指offer编程题(JAVA实现)——第22题:从上往下打印出二叉树

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;import java.util.Stack;/** * * 剑指offer编程题(JAVA实现)——第22题:从上往下打印出二叉树 * * 题目描述 * 从上往下打印出二叉树的每个节点,同层节点从左至右打印...

2018-10-13 17:36:32 5796

原创 剑指offer编程题(JAVA实现)——第21题:栈的压入、弹出序列

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.Stack;/** * * 剑指offer编程题(JAVA实现)——第21题:栈的压入、弹出序列 * * 题目描述 * 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。 * 假设压入栈的所...

2018-10-13 17:35:30 5791

原创 剑指offer编程题(JAVA实现)——第20题:包含min函数的栈

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.Stack;/** * * 剑指offer编程题(JAVA实现)——第20题:包含min函数的栈 * * 题目描述 * 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 * ...

2018-10-12 15:49:42 5854

原创 剑指offer编程题(JAVA实现)——第19题:顺时针打印矩阵

githubhttps://github.com/JasonZhangCauc/JZOfferimport java.util.ArrayList;/** * * 剑指offer编程题(JAVA实现)——第19题:顺时针打印矩阵 * * 题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 ...

2018-10-12 15:49:03 6157

原创 剑指offer编程题(JAVA实现)——第18题:二叉树的镜像

githubhttps://github.com/JasonZhangCauc/JZOffer/** * * 剑指offer编程题(JAVA实现)——第18题:二叉树的镜像 * * 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 * 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10...

2018-10-12 15:47:05 5837

原创 剑指offer编程题(JAVA实现)——第17题:树的子结构

githubhttps://github.com/JasonZhangCauc/JZOffer/** * * 剑指offer编程题(JAVA实现)——树的子结构 * * 题目描述 * 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) * */public class Test17 { public boolean ...

2018-10-12 15:43:23 5887

原创 剑指offer编程题(JAVA实现)——第16题:合并两个排序的链表

/** * * 剑指offer编程题(JAVA实现)——第16题:合并两个排序的链表 * * 输入两个单调递增的链表,输出两个链表合成后的链表, 当然我们需要合成后的链表满足单调不减规则。 * */public class Test16 { public static ListNode Merge(ListNode list1, ListNode list2) { if ...

2018-10-12 15:41:54 5877

原创 剑指offer编程题(JAVA实现)——第15题:反转链表

githubhttps://github.com/JasonZhangCauc/JZOffer/** * * 输入一个链表,反转链表后,输出新链表的表头。 * */public class Test15 { public ListNode ReverseList(ListNode head) { if(head==null) { return nul...

2018-10-12 15:40:13 5806

原创 一个数字串,能转变成多少种字母串,有多少种转换方式,数字串对应1-a,2-b等例如1111可以转变成aaaa,aka,kaa,kk,共四种解法

package class_08;/** * * 一个数字串,能转变成多少种字母串,有多少种转换方式,数字串对应1-a,2-b等 * 例如1111可以转变成aaaa,aka,kaa,kk,共四种解法 */public class FaceBook { public static int number(char[] chs, int i) { if (i == chs.len...

2018-10-12 10:06:40 6427

原创 背包问题(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 7347 3

原创 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 6684

原创 最小路径和问题

package class_08;/** * * 给你一个二维数组,二维数组中的每个数都是正数,要求从左上 * 角走到右下角,每一步只能向右或者向下。沿途经过的数字要累 * 加起来。返回最小的路径和。 * */public class Code_07_MinPath { public static int minPath1(int[][] matrix) { return...

2018-10-10 10:44:16 582

原创 宣讲会问题BestArrange

package class_07;import java.util.Arrays;import java.util.Comparator;/** * * 一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目 * 的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数 * 组,里面 是一个个具体的项目),你来安排宣讲的日程,要求会 * 议室进行 的宣讲的场次最多。返回这个...

2018-10-10 10:29:16 6917

原创 给定一个字符串类型的数组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 7286

原创 实现一个数据流中,随时可以取得中位数

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 7148

原创 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 1184

原创 金条切割问题(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 6553

提示
确定要删除当前文章?
取消 删除