关注
第四题:
class Solution {
public:
int find_kth(vector<int>& arr1, vector<int>& arr2, int st1,int ed1,int st2,int ed2,int k) {
int m = ed1 - st1+1;
int n = ed2 - st2+1;
if (m <= 0) return arr1[st2 + k - 1];
if (n <= 0) return arr1[st1 + k - 1];
if(k==m+n) return max(arr1[m], arr2[n]);
if (k == 1) return min(arr2[st1],arr2[st2]);
int mid1 = min(st1 += k / 2 - 1,ed1);
int mid2 = min(st2 += k / 2 - 1,ed2);
if (arr1[mid1] < arr2[mid2]) {
return find_kth(arr1,arr2,mid1+1,ed1,st2,ed2,k-(mid1+1-st1));
}
else return find_kth(arr1, arr2, st1, ed1, mid2+1, ed2, k - (mid2 + 1 - st2));
}
int find_kth(vector<int>& arr1, vector<int>& arr2, int k) {
// write code here
int m = arr1.size();
int n = arr2.size();
if (k == m + n) return max(arr1[m],arr2[n]);
return find_kth(arr1, arr2, 0, min(m-1, k), 0, min(n-1, k), k);
}
};
查看原帖
1 评论
相关推荐
点赞 评论 收藏
分享
10-14 21:06
西北农林科技大学 数据分析师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# offer帮选 #
4817204次浏览 29235人参与
# 0经验如何找实习? #
2156次浏览 64人参与
# 百融云创求职进展汇总 #
4230次浏览 54人参与
# 校招薪资来揭秘 #
354469次浏览 1926人参与
# 你找工作经历过哪些骗局? #
1020次浏览 30人参与
# OC/开奖 #
283063次浏览 1755人参与
# 产品每日一题 #
72287次浏览 641人参与
# 你开始找寒假实习了吗? #
2137次浏览 33人参与
# 实习,不懂就问 #
135328次浏览 1259人参与
# 如果公司降薪,你会跳槽吗? #
108372次浏览 671人参与
# Offer比较,你最看重什么? #
242113次浏览 1499人参与
# 职场新人体验 #
152785次浏览 1112人参与
# 腾讯工作体验 #
536718次浏览 3613人参与
# 跳槽时有那些注意事项 #
113270次浏览 581人参与
# 互联网公司爆料 #
155981次浏览 720人参与
# 2025年终总结 #
22514次浏览 305人参与
# 秋招被确诊为…… #
273410次浏览 1570人参与
# 你会为了工作牺牲生活吗? #
64445次浏览 433人参与
# 实习中的菜狗时刻 #
449904次浏览 3517人参与
# 如果上班像打游戏,你最想解锁什么技能 #
16727次浏览 88人参与
# 工作以后,你父母对你啥态度 #
19263次浏览 151人参与


查看13道真题和解析