2016年10月4日
摘要: 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 曾经遇到这题,当时的想法很脑残,把每个整数拆分成一个个数字,依次放到数组中... 阅读全文
posted @ 2016-10-04 22:22 gerhold123 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 题目: 求1~n的数字中,数字1出现的次数。 最无脑的做法,从1遍历到n,累计每个数字中1出现的次数。。。。 在leetcode上看到最牛逼的做法 先上代码再说:public int countDigitOne(int n) { int ones = 0;... 阅读全文
posted @ 2016-10-04 21:39 gerhold123 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 最小的K个数 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 本题无非就是排序,取前K个值。但选什么排序算法呢?基于堆排序算法,构建最大堆。时间复杂度为O(nlogk); 如果用... 阅读全文
posted @ 2016-10-04 20:52 gerhold123 阅读(962) 评论(0) 推荐(0) 编辑
摘要: 这题不难,记录的原因是:该题我用到了HashMap来记录每个出现的数字以及出现的次数。在一些笔试面试中,总会出现 类似问题,但都会告诉你数组超大,有成千上万的数据量(网易云音乐播放排行榜、百度搜索排行榜等等),此时用HashMap来解决实在完美,在这里有点大材小用了。。。。。。。... 阅读全文
posted @ 2016-10-04 19:47 gerhold123 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 字符串的排列 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 解题思路:1.列出所有字符串用递归求解... 阅读全文
posted @ 2016-10-04 17:37 gerhold123 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。此前在苏宁笔试中遇到到这题,当时认为二叉搜索树均为满二叉树,故在递归过程中,对数组的划分是以满二叉树的特性进行划分。大错特错... 阅读全文
posted @ 2016-10-04 15:53 gerhold123 阅读(1791) 评论(0) 推荐(0) 编辑
摘要: 二叉树中和为某一值的路径 题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 注意:1.路径的定义:从树的根结点开始往下一直到叶结点2.树的遍历3.路径的保存:每次... 阅读全文
posted @ 2016-10-04 15:46 gerhold123 阅读(3312) 评论(0) 推荐(0) 编辑