代码拉取完成,页面将自动刷新
同步操作将从 xusun000/408-所有真题算法 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include<stdio.h>
#include<stdlib.h>
int getMiddle(int a[], int start, int end) {
return a[(start + end) / 2];
}
int getDoubleMid(int s1[], int s2[], int length) {
int i = 0, log_i = 1;
while (log_i * 2 < length) { i++;log_i *= 2; }
int start_a = 0, start_b = 0, end_a = length - 1, end_b = length - 1;
while (i-- && start_a < end_a && start_b < end_b) {
int mid_a = getMiddle(s1, start_a, end_a);
int mid_b = getMiddle(s2, start_b, end_b);
if (mid_a < mid_b) {
start_a = (start_a + end_a) / 2 + 1;
end_b = (start_b + end_b) / 2 - 1;
}
else {
start_b = (start_b + end_b) / 2 + 1;
end_a = (start_a + end_a) / 2 - 1;
}
}
return s1[start_a] < s2[start_b] ? s1[start_a] : s2[start_b];
}
int main() {
int s1[] = { 1,2,3,8,9 };
int s2[] = { 4,5,6,7,10 };
int length = 5;
int ret = getDoubleMid(s1, s2, length);
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。