由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教大家一个算法的面试题目
相关主题
问道题我已经笨死了笨死了笨死了
谁给个数组分段题二分法的总结啊?解决二分查找变体题的一种思路
二维排序数组的查找正解是O(M+N)的复杂度吗大家谈论算法时所说的“二分法”是不是就是所谓的binary search或是它的变形?
二维数组问题问一道题(2)
讨论CAIWU那道矩阵DP题的思路?问一道careercup150上的题
minimum path sum的滚动数组啥意思对facebook的印象极差
请教一下DP解法能用一维数组的面试的时候用二维数组会减分不?微软第一轮电面
请教一道题问一个careercup上的题目
相关话题的讨论汇总
话题: 数组话题: 有序话题: 数字话题: 算法话题: 60
进入JobHunting版参与讨论
1 (共1页)
s********0
发帖数: 51
1
是关于有序数组的搜索的,第一题是一维有序数组的搜索,用二分法很快就写出来了。
第二题是二维的有序数组,就是一个二维数组,其行和列都是有序的,比如:
1, 8, 15, 22, 25,32
3, 12,18, 28, 36,50
15, 25,34, 60, 64,90
60, 78,79, 80, 91,100
这样,每一行和每一列都是有序的,但是下一行/列不一定比上一行/列的都大。请问大
家,这种情况下如何搜索呢?复杂度是多少呢?谢谢!
c********6
发帖数: 33
2
看左下角的数字
如果target比它大往右移
比他小往上移
s********0
发帖数: 51
3
谢谢你! 好像确实可以work的,能否给稍微讲解一下原理呢?另外,这样的话复杂度
应该是O(m+n)吧?有没有类似log(n)的算法呢?

【在 c********6 的大作中提到】
: 看左下角的数字
: 如果target比它大往右移
: 比他小往上移

C********e
发帖数: 492
4
沿着对角线A(i,i) 做类似二分查找,可以O(n)

【在 s********0 的大作中提到】
: 谢谢你! 好像确实可以work的,能否给稍微讲解一下原理呢?另外,这样的话复杂度
: 应该是O(m+n)吧?有没有类似log(n)的算法呢?

c********6
发帖数: 33
5
原理是当target小于60的话,那么60这一行肯定不会有target了,所有数都比60大
target大于60的话那这一列就不用看了,因为所有数都比60小
log方法不太清楚,好像可以分成四块去二分,操作比较麻烦就是了

【在 s********0 的大作中提到】
: 谢谢你! 好像确实可以work的,能否给稍微讲解一下原理呢?另外,这样的话复杂度
: 应该是O(m+n)吧?有没有类似log(n)的算法呢?

f*******w
发帖数: 1243
6
CC150原题
G*********e
发帖数: 56
7
Young tablet。
算法书上有。

【在 s********0 的大作中提到】
: 是关于有序数组的搜索的,第一题是一维有序数组的搜索,用二分法很快就写出来了。
: 第二题是二维的有序数组,就是一个二维数组,其行和列都是有序的,比如:
: 1, 8, 15, 22, 25,32
: 3, 12,18, 28, 36,50
: 15, 25,34, 60, 64,90
: 60, 78,79, 80, 91,100
: 这样,每一行和每一列都是有序的,但是下一行/列不一定比上一行/列的都大。请问大
: 家,这种情况下如何搜索呢?复杂度是多少呢?谢谢!

z******t
发帖数: 59
8
的第8个例题。
这个题目通常有两个解法:
1、在对角线上二分查找。在对角线上找到比指定数字小的最大数,然后用这个数把二
维数组分成4个子数组。目标数字只有可能出现在刚才找到数组的右上子数组或者左下
子数组。接着在这两个子数组中递归查找。
这个思路的代码实现稍微有点复杂,在面试过程中不容易一次性写对。
2、每次拿数组右上角的数字和目标数字比较。如果相等,找到了。如果比目标数字大
,去掉最右边的一列;如果比目标数字小,去掉做上面的一行。接着用同样的思路,在
剩下的数组中继续拿右上角的数字和目标数字比较。
这个思路一旦把思路想清楚,写代码容易很多。这是面试过程中推荐的解法。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问一个careercup上的题目讨论CAIWU那道矩阵DP题的思路?
看不懂careercup上一题的答案minimum path sum的滚动数组啥意思
发个bb intern 面经请教一下DP解法能用一维数组的面试的时候用二维数组会减分不?
帮忙看个题请教一道题
问道题我已经笨死了笨死了笨死了
谁给个数组分段题二分法的总结啊?解决二分查找变体题的一种思路
二维排序数组的查找正解是O(M+N)的复杂度吗大家谈论算法时所说的“二分法”是不是就是所谓的binary search或是它的变形?
二维数组问题问一道题(2)
相关话题的讨论汇总
话题: 数组话题: 有序话题: 数字话题: 算法话题: 60