剑指Offer剑指Offer(三十八):二叉树的深度 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 2018年1月16日 9,434 °C 5 阅读全文
剑指Offer剑指Offer(三十五):数组中的逆序对 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 2018年1月14日 11,204 °C 14 阅读全文
剑指Offer剑指Offer(三十三):丑数 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 2018年1月8日 3,717 °C 2 阅读全文
剑指Offer剑指Offer(三十二):把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 2018年1月6日 6,391 °C 5 阅读全文
算法基础程序员内功:八大排序算法 如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功。想写出精炼、优秀的代码,不通过不断的锤炼,是很难做到的。 2018年1月5日 37,023 °C 发表评论 阅读全文
算法基础排序(8):基数排序 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只... 2018年1月4日 9,069 °C 6 阅读全文
算法基础排序(7):归并排序 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 2018年1月3日 12,641 °C 8 阅读全文