题目
输入一个正整数数组,每个元素都不相等,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如数组{3,32,321},则打印出这3个数字能排成的最小数字321323.(《剑指Offer》P177)
输入一个正整数数组,每个元素都不相等,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如数组{3,32,321},则打印出这3个数字能排成的最小数字321323.(《剑指Offer》P177)
JDK1.8中,ConcurrentHashMap的源码竟然有6300行,作者是大名鼎鼎Doug Lea(感谢开源让我离大神可以这么近,不过代码风格明显没打算交给他人维护)。本文只讲述扩容相关的内容和get操作的并发安全实现,其他操作就放弃了。文章参考一下别人的文章,主要是以下两篇文章:
本人最近在看JDK的HashMap源码,在JDK1.8中引入红黑树。引入红黑树的原因是加快hash碰撞较多情景下的查找速度。网上找到下面这篇文章感觉写的非常好,思路清晰。我会在原文章基础上做一点批注,方便日后阅读。
接下来文章将会讲述四种排序算法的实现和可行性证明。只有证明一个算法的正确性,才算理解一种算法。