自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bean冷的心的博客

语音菜鸟,kaldi粉丝

  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 (Java热门面试热门题)Maxinum Gap问题

题目:要求你设计一个时间复杂度为O(n)的算法,实现将一个无序数组排列好,然后求彼此之间的最大差值,而且不能使用非基于比较的排序算法。分析很明显这道题是故意坑人的,时间复杂度为O(n),那可不就是桶排序,基数排序和基数排序么,可是这些都是非基于比较的排序算法。所以不能直接用桶排序进行排序,我们需要用到这个算法的一个重要的思想,就是桶,比如给9个数字(数字的范围是从0到10),则准备10个(n...

2019-07-31 18:38:32 1942

原创 (纯白话算法系列)归并排序,时间复杂度分析、代码演示,堆是什么?

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。白话说:所谓归并排序,望文生义,就是把两个东西合并在一起了,那么是什么东西合并在一起了呢?是两个已经排好序的数组...

2019-07-28 21:39:12 1199 2

原创 (纯白话算法系列)堆排序,时间复杂度分析、代码演示,堆是什么?堆的数据结构底层

堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。想要了解堆排序,那么必须要明白堆这种数据结构,先介绍一下堆结构,如果已经明白了可以直接跳过。什么是堆堆是一种非常重要的数据结构,其本身是由完全二叉树构成的,二叉树想必大家都明白是什么,如果不明白请百度…堆需要分...

2019-07-27 22:47:54 1301

原创 准大四学生七月青软实训总结

写在前头:去青岛实训基地学习了一个月。。回家已经好几天了,为什么一直没有写这篇博客,因为太忙了。。不总结还是不行,总结一下这个月的收获吧,以后回头看看会很有用。这个月我学到了什么关于人生的知识?其实在学校一直在学习SSM框架,总觉得学完框架自己就到达了人生的小巅峰,感觉自己领先所有人的感觉,来实训一个月后,我逐渐意识到了这个恐怖的念头应该被打消掉了,根据一些互联网大佬的描述,我才知道现今正是...

2019-07-27 17:12:44 3266 5

原创 (纯白话算法系列)快速排序以及随机快排,时间复杂度分析、代码演示

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。本篇部分词义解释:基数:指数组中一个元素,数组中其他元素都和该元...

2019-07-26 16:52:48 2380

原创 Idea修改域中所有变量的快捷键

Window: Ctrl+Shift+Alt+JMac: Ctrl+Option+G

2019-07-25 16:21:43 2091

原创 趣说abstract,一个你没有听过的全新版本,看完就彻底记住抽象的概念

2098年,灾难再次爆发,地球上突然产生了一种奇怪的病毒,他们专门感染java程序员,程序员们都会被它整的不要不要的。abs病毒在电子显微镜下观察的放大图特点:abstract病毒,简称abs病毒,感染性极强1、只要一个类中有一个抽象方法,整个类就是abstract的了!!2、如果一个类继承了抽象类,必须实现抽象类所有抽象方法(制定所有对策),有一个抽象方法没被实现,即病毒没被彻底消灭...

2019-07-25 10:39:20 1584

原创 递归算法时间复杂度分析(master公式使用)

看了左神的求递归算法时间复杂度分析受益颇多,在这里写一下收获:master公式的使用T(N) = a*T(N/b) + O(N^d)1) log(b,a) > d ->复杂度为O(N^log(b,a))2) log(b,a) = d ->复杂度为O(N^d*logN)3) log(b,a) > d ->复杂度为O(N^d)什么...

2019-07-24 16:48:14 4190

原创 怎么修改CSDN的个性签名或者个人说明?

1、首先点管理博客2、进入到博客设置3、开始修改吧!

2019-07-24 13:37:26 1848

原创 什么是对数器?对数器的作用是什么?

对数器是什么?通常我们在笔试的时候或者参加编程大赛的时候,自己实现了一个算法,但是不能够判断该算法是否完全没问题,如果在比赛平台上验证,通常只会告诉你有没有错误,出了错不会告诉你哪里有问题,对于排错来说是非常坑爹的,所以对数器就横空出世了,对数器就是用一个绝对OK的方法和随机器生成的样本数据进行合体,如果你的算法是没问题的,那么和对数器的这个百分之百正确的方法一个元素一个元素的比较,也一定是eq...

2019-07-24 13:25:18 13150 6

原创 (纯白话算法系列)插入排序、时间复杂度分析、代码演示

定义插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法...

2019-07-24 09:13:41 1413

原创 (纯白话算法系列)选择排序、时间复杂度分析、代码演示

定义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。纯白话说:所谓选择排序,即每次循环挑出最小的数,将其与本次循环的起点位置...

2019-07-23 22:05:46 289

原创 (纯白话算法系列)冒泡排序、时间复杂度分析、代码演示

定义:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中...

2019-07-23 17:42:00 417

原创 (终结版)Idea中使用Maven管理jar包,导入了mysql-connector-java包还是报错ClassNotFound和java.lang.NullPointerException

(注:本篇博客适用于Eclipse, myeclipse和Idea开发环境)好久没使用就基础的Servlet写项目了,想重温一下基础,可是却犯了最基本的错误,我今天使用Idea编写一个简单的登录页面,可是一直显示空指针异常和类找不到的异常,各种谷歌都无果。。后来仔细看了一下异常被自己笑到了,以后出了错千万别着急,一定要好好读一遍你的报错信息。。。。。。。就这么一个low的登录界面,点击提交:...

2019-07-17 21:27:09 3318

原创 为什么有的java底层public方法在JDK文档中查不到?

前言今天查看了ArrayList方法底层的remove方法,看到重载方法总共有两种:分别是:但是仔细想了一下感觉不对劲,大家看一下这个例子:public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<Strin...

2019-07-16 11:13:44 287

原创 Maven:C盘下为什么没有.m2文件,C盘为什么没有settings.xml,怎么配置Maven环境变量

前段时间电脑炸了,重装了C盘,so,you know, 所有的环境变量以及储存在C盘的文件都没了,所以自然也包括.m2文件夹,那应该怎么让他出现呢?没有.m2文件夹不妨先进cmd(Win+R)输入: mvn -v看看是不是有效指令,没有的话就很好解决,说明你忘记配置环境变量了,所以只需要新建一个,算了,上图吧,打字不直观:Step1Step2:新建系统变量MAVEN_HOME,变量值为你...

2019-07-15 10:57:05 8788 1

原创 Java面试题:什么是死锁?如何手写一个死锁(Dead Lock)

要想实现一个死锁,首先要明白什么是死锁,我们看一下死锁的定义:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。--百度用通俗的话来说就是张三跟李四下饭馆吃饺子,张三拿着醋,李四拿着蒜瓣,张三说李四你给我吃点蒜,李四说,那不行,你...

2019-07-11 14:01:02 3453 7

转载 即将本科毕业的Java程序员需要用到的资料和复习方向

java应届生面试考点收集这些知识点来自于之前去百度实习、阿里、蘑菇街校园招聘的电话面试JavaSE面向对象封装、继承、多态(包括重载、重写)常见区别String、StringBuffer、StringBuilder的区别:http://www.cnblogs.com/dolphin0520/p/3778589.htmlArrayList、LinkedLis...

2019-07-11 08:32:34 334

原创 Java中lenth、lenth()和size()的区别是什么?

今天做面试题遇到一道坑爹的题,某东的原题:String str = "";System.out.print(str.split(",").length());问输出什么,总共三个选项:A)0B)1C)编译错误我知道他想考什么,当空字符串调用split,长度为1嘛,肯定想骗我们选A,然后我果断选C,结果答案是B!!!??如果不知道split方法是什么可以参考我的上篇博...

2019-07-08 14:50:00 4543

原创 (史上最白话最简单)深度剖析Java的split();方法(附:怎么能看懂JDK源码?)

前言:随着Java学习的深入,我们不仅仅会要求自己熟练使用一些API的方法,更想看看这些方法的底层是如何实现的,然而你如果想进步那么必须要训练看源码的能力,将来学高级框架的时候是一定会看底层源码的,所以必须要从相对基础的JDK源码训练开始!ヾ(◍°∇°◍)ノ゙目录前言:什么是split方法?(理解的可以跳过)第一个:split(String regex) 翻译--&g...

2019-07-08 14:11:32 1209

原创 static方法区中为什么不能有this或者super?

想象一下Java中为什么main方法是程序的入口?public static void main(String[] args)因为main方法是静态方法,其实带静态的东西优先级都比较高,静态代码块,静态变量,静态常量等等。。。静态方法也是一样,那么为什么main方法是程序的入口呢?因为他最先被执行啊!当你点击编译按钮时,也就是类加载时静态方法就被加载到了内存区,静态方法被优先执行,而此...

2019-07-03 15:30:31 1050 1

原创 深入剖析多态,什么是多态?多态有什么用?

前言:今天我准备探讨一下多态的终极奥义,Java也学习了两年了,但是对于多态一直不是很理解,上周刚刚来到青软实训基地,才有了时间深入学习这些熟知用法而不知底层的知识。 花了一天时间来了解多态存在的意义。本篇博客让我们从一个完全不懂得状态一步步了解什么是多态,深入掌握多态的概念。什么是多态?让我们看看百度是怎么定义多态的,话不多说,上图!望文生义,第一眼看到多态,感觉就是多种...

2019-07-02 11:43:49 846 2

必备四公子.zip

安装kaldi必备依赖 openfst-1.6.7.tar.gz sctk-20159b5.tar.gz sph2pipe-2.5.tar.gz cub-1.8.0.tar.gz

2021-10-04

Desktop.zip

附赠Java架构师学习路线,无偿奉献!~

2019-07-15

JSP+JDBC+Servlet实现ATM机的源码

博客中附加的资源,可以根据需要下载,里面有前端的代码和后端的代码,仅供学习交流!博客中附加的资源,可以根据需要下载,里面有前端的代码和后端的代码,仅供学习交流!

2019-01-23

空空如也

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

TA关注的人

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