由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 关于index的问题
相关主题
问一个我onsite的题刷题刷到没自信了
一个小公司面经search in a rotated array
find median for k sorted arraysfind max in shifted sorted array
一个特别的inplace merge two sorted arraysamazon tel interview
re: 面试归来,上面经回馈各位战友google电面2, 还就一个简单题
求一下这题解法。问一个amazon的数组排序题
哪里有讲k-way merge的?Facebook Phone interview
请教一下external sorting的问题算法面试题
相关话题的讨论汇总
话题: mid话题: merge话题: start话题: end话题: int
进入JobHunting版参与讨论
1 (共1页)
g***j
发帖数: 1275
1
各位大侠,我在写程序的时候,特别是二分程序的时候,经常不知道边界什么时候减1
,什么时候加1,什么时候就用求出来的mid
比如如下的code,我开始就搞错了,把第一个merge_sort的重点弄的mid-1,第二个弄
的mid,然后merge里面写的mid-1,发现不work,调试了才知道错了。
理论上来说,这个边界的起始应该不是问题啊,为什么差一个就不work呢
请问,在处理类似,先求mid,然后二分的时候,有什么诀窍呢?
int merge_sort(int array[], int start, int end){

if(start < end) {
int mid = (start + end)/2;
merge_sort(array, start, mid); // shound't be mid -1 !!!!
merge_sort(array, mid+1, end);
merge(array, start, mid, end);
}

return 0;
}
k********4
发帖数: 858
2
递归到长度只有1的数组的话mid-1就是负数了。。。
==============
准确地讲mid-1就比start还小了
g***j
发帖数: 1275
3
这么说不减1 一定保险了?
在哪种情况下减1才是必须的呢?

【在 k********4 的大作中提到】
: 递归到长度只有1的数组的话mid-1就是负数了。。。
: ==============
: 准确地讲mid-1就比start还小了

k********4
发帖数: 858
4
应该具体情况具体分析,两分的时候算清楚中点的index到底是哪个,不难

【在 g***j 的大作中提到】
: 这么说不减1 一定保险了?
: 在哪种情况下减1才是必须的呢?

1 (共1页)
进入JobHunting版参与讨论
相关主题
算法面试题re: 面试归来,上面经回馈各位战友
amazon 二面情况诡异!求一下这题解法。
再问一个算法题。哪里有讲k-way merge的?
问一个merge k sorted array的问题请教一下external sorting的问题
问一个我onsite的题刷题刷到没自信了
一个小公司面经search in a rotated array
find median for k sorted arraysfind max in shifted sorted array
一个特别的inplace merge two sorted arraysamazon tel interview
相关话题的讨论汇总
话题: mid话题: merge话题: start话题: end话题: int