码迷,mamicode.com
首页 >  
搜索关键字:剑指offer 面试题17    ( 3728个结果
剑指offer:替换空格
##题目:请实现一个函数,把字符串中的每个空格替换成%20。例如输入“We are happy.",则输出”We%20are%20happy."。最容易想到的是,从头到尾扫描,每次碰到空格就替换。但是时间复杂度为o(n2)。时间复杂度为o(n)的解法是:首先遍历字符串,统计出字符串中空格的总数,然后...
分类:其他好文   时间:2015-07-13 20:22:53    阅读次数:93
(剑指Offer)面试题14:调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。如果去掉约束条件:并保证奇数和奇数,偶数和偶数之间的相对位置不变?思路:如果要保证奇数和奇数,偶数和偶数之间的相对位置不变...
分类:编程语言   时间:2015-07-13 18:29:03    阅读次数:184
剑指offer:二维数组的查找
题目:在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数。分析:数组如下所示方式大致如下:选择的应该是右上角或者左下角。// 二维数组matrix中,每一行都从左到右递增排序,// 每一列...
分类:编程语言   时间:2015-07-13 17:57:28    阅读次数:127
【剑指offer 面试题38】数字在排序数组中出现的次数
思路: 利用二分查找,分别查找待统计数字的头和尾的下标,最后做差加一即为结果。C++: 1 #include 2 #include 3 using namespace std; 4 5 int GetFirstK(vector& nums, int startpos, int endpos,...
分类:编程语言   时间:2015-07-12 17:24:20    阅读次数:146
【剑指offer】题目20 顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:关键注意①每一圈中四条边的边界,要每...
分类:其他好文   时间:2015-07-10 11:12:40    阅读次数:102
【剑指Offer学习】【面试题52:构建乘积数组】
题目:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1],不能使用除法。解题思路例如:A[]={1,2,3}求B[] B[0]=A[1]×A[2]=2×3=6 B[1]=A[0]×A[2]=1×3=3 B[2]=A[0]×A[1]=1×2=21.B[0]初始化为1,从下标i=...
分类:编程语言   时间:2015-07-10 09:28:52    阅读次数:819
【剑指offer】题目36 数组中的逆序对
数组中任取两个数字,如果前面的数字大于后面的数字称为一个逆序对如:1,2,1,2,1 有3个逆序对思路:知道O(N2)肯定是错的。开始想hash,试图找到O(n)的算法,想了很久,找不到。后来想到排序,用原数组与排好序的数组对比,我写的快排,还是不对。想了几个小时,无奈看答案,原来是用变形的归并排序...
分类:编程语言   时间:2015-07-10 00:20:27    阅读次数:146
【剑指offer】删除字符也出现在一个字符串
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27110873 剑指offer上的字符串相关题目。 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。比如。输入”They are students.”和”aeiou”,则.....
分类:其他好文   时间:2015-07-09 12:47:21    阅读次数:134
【剑指offer】题目38 数字在排序数组中出现的次数
思路:应该是用二分查找分别找到该数字第一次和最后一次出现的位置,相减即可。O(logn)int findLeft(int a[], int n, int num){ int l = 0, r = n - 1; while(l = 0 && a[l] == num) //找左边界 ...
分类:编程语言   时间:2015-07-08 22:10:48    阅读次数:161
剑指offer-Java类加载过程
Java类加载过程:(以A.class为例)1.定位A.class类,并调用findLoaderClass(string)判断这个类是否已经存在2.先执行父类中static成员变量与static方法块3.再执行子类中static成员变量与static方法块4.接着执行父类中非static成员变量、非...
分类:编程语言   时间:2015-07-08 20:48:08    阅读次数:140
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!