自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Java设计模式之工厂模式(简单工厂模式和工厂方法模式)

工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。这里介绍简单工厂模式和工厂方法模式。简单工厂模式要点简单工厂模式也被叫做静态工厂模式,工厂类一般使用静态方法,通过接收的参数不同...

2019-06-04 10:24:59 283

原创 23种设计模式和Java实现(目录)

设计模式简介(摘自runoob.com)设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更...

2019-05-14 11:34:18 426

原创 Java设计模式之单例模式

单例模式

2019-05-14 10:31:04 194 1

原创 Java工程师笔试题(二)——字符串归并

题目描述设有两个字符串,先需要将两个字符串合并,合并要求如下:(1)合并后的字符串中包含两个字符串出现过的所有字符(2)若有重复字符则只保留一个(3)结果字符串按26个字母顺序排列如字符串str1为"asdfsfcv" 和 字符串2为 “bgfdAdac”则输出结果为 “Aabcdfgsv”算法分析这里可以用桶排序的思想,遍历字符串,将不同的字符放入不同的“桶”中,得到计数数组。根...

2019-04-27 23:20:29 369

原创 Java工程师笔试题(一)——任选三个数字组成满足条件的三位数

题目描述从1,2,3,4,5这五个数中选三个数组成一个三位数,十位数等于百位数和个位数之和,按行输出所有满足条件的三位数。题目来源: 某公司校招真题代码for(int a = 1; a <= 4; a++) for (int c = 1; c <= 4 ; c++){ int b = a + c; ...

2019-04-27 23:06:57 782

原创 Java实现根据二叉树的前序遍历和中序遍历序列重建二叉树(递归实现)

题目描述题目来源:牛客–剑指offer输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析根据前序遍历和中序遍历的特点,前序遍历的第一个元素即根节点,在中序序列中该节点的左边为左子树,右边为右子树。Ja...

2019-04-24 12:40:29 1541

原创 二维数组中的查找

二维数组中的查找题目来源:牛客-剑指offer题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。从题中得知,每个节点都大于左边,小于下面。所以我们可以从右上角或者左下角开始寻找。以右上角为例,若目标数target 大于节点值,则下移,若小于节...

2019-04-24 09:25:34 130

原创 Java——归并排序算法的递归实现

归并排序归并排序算法采用分治策略,将两个已有序的序列归并为一个更大的有序序列,通过递归思想,层层合并,最终得到一个完整的有序序列。Java实现递归排序 public static void mergeSort(int[] array ,int low , int high){ if(low < high ){ int mid = (low...

2019-03-27 11:14:22 288

原创 Java——堆排序算法

大根堆和小根堆堆是一种完全二叉树,每个结点的值都大于或等于其左右孩子结点的值,称为大根堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小根堆。堆排序堆排序是一种选择排序,利用大根堆或小根堆的特性,堆顶的值总是最大或是最小的。以大根堆为例,将n个待排序的元素建立大根堆,弹出堆顶的最大值与堆末尾元素交换,此时末尾就是该序列最大值。再将剩下n-1个元素建立大根堆,继续弹出堆顶最大值与堆末尾...

2019-03-27 10:54:17 111

原创 Java——冒泡排序算法与简单优化

冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。Java实现 public static void bubbleSort(int[] array){ for...

2019-03-26 10:35:00 193

原创 Java——直接插入排序算法

直接插入排序直接插入排序基本思想是每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。Java实现 public static void insertSort(int[] array){ for (int i = 1; i < array.length; i++) { for (int j = i ; j ...

2019-03-26 10:02:07 638

原创 Java——简单选择排序算法

简单选择排序算法简单选择排序是一种简单直观的排序算法。每一趟从待排序的记录中选出最小的元素,放入已排好序的序列后,直到全部记录排序完毕。Java实现 public static void selectionSort(int[] array){ for (int i = 0; i < array.length; i++) { for (int j ...

2019-03-26 09:44:47 134

原创 Java实现二叉树的序列化与反序列化

Java实现二叉树的序列化与反序列化二叉树的序列化二叉树的序列化是指将二叉树的遍历结果按照一定的格式保存为字符串,使得程序在内存中生成的二叉树得以保存,从而实现二叉树的持久化的过程。二叉树可以通过前序,中序,后序,层次等遍历方式进行遍历输出序列化字符串,结果字符串规定“/”表示一个结点值的结束,以“#/”表示空结点。本文以前序遍历...

2019-03-24 17:42:03 1022

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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