int findKth(vector<int> &A,vector<int>&B, int startA,int startB,int k){ int lenA=A.size()-startA; int lenB=B.size()-startB; int(lenA>lenB) return findKth(B,A,startB,startA,k); if(lenA==0) return B[startB+k-1]; if(k==1) return min(A[startA],B[startB]); int pa=min(k/2,lenA); int pb=k-pa; if(A[startA+pa-1]>B[startB+pb-1]) return findKth(A,B,startA,startB+pb,k-pb); else if(A[startA+pa-1]<B[startB+pb-1]) return findKth(A,B,startA+pa,startB,k-pa); return A[startA+pa-1]; } int findKth(vector<int>&A,vector<int>&B,int k){ if(k<1||k>A.size()+B.size()) throw runtime_error("k is illegal"); return findKth(A,B,0,0,k); }
点赞 1

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务