自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 比KMP更简单更有意思的Sunday算法

一般想到字符串的匹配算法,大家很快就会想到KMP,毕竟教科书上都是介绍它相关的内容,但是前面在准备面试的过程中,发现了一种效率不比它差,但是简单易懂的算法。感觉这种算法确实很有意思。首先两个字符串 例如:在eaabb babadbbcd 中找adcbb 首先 eaabb babadbbcd :i A adcbb :j B 对齐,然后

2016-09-27 23:15:45 2218 1

原创 非递归实现堆排序

话不多说,直接上例子,首先得明白具体过程:45 28 49 16 37 82 56 75(最小堆)建树 45 28 49 16 37 82 56 75从n/2个节点开始选择,第一趟,16比75小,不换.到n/2-1个节点,49和82、56比,49小,也不换.到n/2-2个结点,28和16、37比,16小,变成 (n/2的意思也就是第一个非叶子节点

2016-09-27 18:28:31 804 1

原创 阿里一道机器人面试题。

某程序员开发出了一款超级智能机器人,能对任何提问给出“是”或者“不是”的答案。现有3个这种机器人,其中有数量不定的(0到3个)机器人发生了故障。如果正常机器人总是给出正确的答案,而故障机器人总是给出错误的答案。每一回合只能问任意一个机器人任意一个问题,那么至少需要__回合才能确保区分出哪些机器人是正常,哪些是故障。1 2 3 4 5 6首先这题,不太清楚答案,由于题目是“”任何问题“”,所

2016-09-25 20:59:20 3367 1

原创 LeetCode 397. Integer Replacement

题目大意 给定一个数,通过(偶数除以二,奇数加1或者减1)几种操作,让这个数字变成1;例如给定数字5 :5-4-2-1返回次数3.而这个关键在于何时加1何时减1,比如15-14-7-6-3-2-1(6次);15-16-8-4-2-1(5次) 可见在奇数时刻加1还是减1对最后的结果有很大的影响。 对于这种Easy级别的题目 常规思路就是递归,但事实告诉你,下面这种写法,绝对是通不过的。栈溢出,

2016-09-17 15:15:25 413

原创 红黑树学习笔记

首先,为什么会有红黑树。它存在的意义在于: 因为一棵由n个结点随机构造的二叉查找树的高度为logn,所以顺理成章,二叉查找树的一般操作的执行时间为O(lgn)。但二叉查找树若退化成了一棵具有n个结点的线性链后,则这些操作最坏情况运行时间为O(n)。 红黑树虽然本质上是一棵二叉查找树,但它在二叉查找树的基础上增加了着色和相关的性质使得红黑树相对平衡,从而保证了红黑树的查找、插入、删除的时间复杂度最

2016-09-14 13:54:53 330

转载 JVM 类加载器

类加载器的委托模式 提到类加载器,就不得不提到它的委托模式。 Java虚拟机可以安装多个类加载器,系统默认三个主要的类加载器,每个加载器负责加载特定位置的类: BootStrap,ExtClassLoader,AppClassLoader。类加载器本身也是一个Java类,因为其他Java类的类加载器本身也要被类加载器加载,所以肯定有一个类加载器不是Java类,这便是BootStrap,Boo

2016-09-10 14:46:31 281

原创 HashMap Java 8 重点内容详解

从原理和细节上搞定HashMap声明:网上讲HashMap的帖子很多,各自有各自着重介绍的地方,个人把自己比较感兴趣的内容和自己的一点点认识写下了。 hashmap是由数组和链表组成的,要插入的元素首先根据哈希函数得到hash值,然后根据规则(取模),得到自己要插入的桶(所谓的桶就是图中的0-15的数组元素)的号。然后排在桶中元素的后面。而要取的时候也一样,先拿到桶号,在沿着这个指针逐个往下找

2016-09-09 16:02:42 745

空空如也

空空如也

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

TA关注的人

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