码迷,mamicode.com
首页 >  
搜索关键字:offer    ( 4910个结果
剑指offer (32) 从1到n整数中1的出现次数
题目:输入一个整数,求从1到n这个n个整数的十进制表示中1的出现次数方法一:最直观的解法 T(n) = O(nlgn)int NumberOf1Between1AndN_Solution1(unsigned int n){ int number = 0; for(unsigned int...
分类:其他好文   时间:2014-06-26 21:09:51    阅读次数:146
剑指offer (33) 把数组排成最小的数
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接处的所有数字中最小的一个例如输入数组 {3, 32, 321}则打印这3个数字能排成的最小数字 321323两个数字m和n能拼接成数字mn和nm,如果mn [strNumber2][strNumber1], 返回值大于0// ....
分类:其他好文   时间:2014-06-26 20:33:35    阅读次数:227
剑指offer (34) 丑数
题目:只包含因子2,3,5的数成为 丑数求从小到大第1500个丑数通常我们把1当作第一个丑数方法一:逐个判断每个整数是不是丑数如何判断一个数是不是丑数? 根据定义,丑数只能被2,3,5整除,也就是说,这个数的因子中只能是2,3,5我们不断用这个数除以2,3,5,直到最后,如果得到1,那么这个数就是丑...
分类:其他好文   时间:2014-06-26 18:59:43    阅读次数:182
剑指offer (35) 第一个只出现一次的字符 字符哈希表
题目:在字符串中找出第一个只出现一次的字符题解分析:用空间换时间,使用哈希表,key为字符,value是该字符出现的次数字符是一个长度为8的数据类型,因此总共只有256种可能,我们可以创建一个长为256的数组,每个字符根据其ASCII码值作为数组的下标,即哈希表的key,而相应数组位置存储每个字符出...
分类:其他好文   时间:2014-06-26 17:17:23    阅读次数:223
剑指offer (36) 数组中的逆序对
题目:在数组中的两个数字如果前面一个数字大于后面一个数字,则这两个数字组成一个逆序对题解分析:首先应该想到很简单的一种解法,顺序遍历数组,对每个数,逐个比较该数字和其以后的数字,T(n) = O(n^2)(1)总体的意思就是将数组分成两段,首先求段内的逆序对数量,比如下面两段代码就是求左右两端数组段...
分类:其他好文   时间:2014-06-26 11:20:55    阅读次数:268
剑指offer (29) 数组中出现次数超过一半或1/3或1/N的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字方法一:如果把这个数字排序,那么排序之后位于数组中间的数字一定就是出现次数超过数组长度一半的数字这个数字就是统计学中的中位数,即长度为n的数组中第n/2大的数字在数组中得到任意第k大数字,这一问题有O(n)解,注:这里第kth个元素,...
分类:其他好文   时间:2014-06-25 16:47:12    阅读次数:345
剑指offer (30) 最小的K个数
题目:输入n个整数,找出其中最小的K个数方法一:直接std::sort,T(n) = O(nlgn)方法二:直接std::nth_element T(n) = O(n) 但是修改了原数组void MinKth(std::vector& num, int kth, std::vector& resul...
分类:其他好文   时间:2014-06-25 12:35:07    阅读次数:216
剑指offer (24) BST的先序或后序遍历序列的正确性
题目:输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历序列假设输入的数组的数字均不相同解题分析:对于二叉搜索树,中序序列一定是升序的,我们将后序遍历序列排序,结果即为 中序遍历序列如果该后序遍历序列是正确的,那么 由 中序遍历序列和后序遍历序列 一定可以构建一棵二叉树如果不能成功构建一棵二...
分类:其他好文   时间:2014-06-24 14:10:18    阅读次数:166
剑指offer (27) 复杂链表的复制
题目:请实现一个函数,复制一个复杂链表,在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点,还有一个m_pSibling指向链表中的任意节点或者NULLstruct ComplexListNode { int m_nValue; ComplexLi...
分类:其他好文   时间:2014-06-24 13:57:17    阅读次数:287
剑指offer (27) 二叉搜索树和双向链表
题目:输入一棵BST,将该BST转换成一个排序的双向链表要求不能创建新的结点,只能调整树中结点指针的指向在BST中,左子节点的值 小于父节点的之, 父节点的值小于 右子节点的值因此我们在转换成有序的双向链表时,原先指向左子节点的指针调整为链表中指向前一个结点的指针原先指向右子节点的指针调整为链表中指...
分类:其他好文   时间:2014-06-24 13:38:31    阅读次数:243
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!