double Solution::findMedianSortedArrays(const vector<int> &A, const vector<int> &B) {
// Do not write main() function.
// Do not read input, instead use the arguments to the function.
// Do not print the output, instead return values as specified
// Still have a doubt. Checkout www.interviewbit.com/pages/sample_codes/ for more details
int n = (int)A.size();
int m = (int)B.size();
const vector<int> &smaller = (n <= m) ? A : B;
const vector<int> &bigger = (n <= m) ? B : A;
n = (int)smaller.size();
m = (int)bigger.size();
if(n == 0){
if(m % 2) return (double)bigger[m / 2];
else{
return ((double)bigger[m / 2] + (double)bigger[(m - 1) / 2]) / 2.0;
}
}
int sz = (n + m + 1) / 2 ;
int lo = -1, hi = n;
while(hi - lo > 1){
int mid = (hi + lo) >> 1LL;
int nxmid = sz - (mid + 1) - 1;
int mxleftsm = (mid >= 0) ? smaller[mid] : -(1e9 + 5);
int mnrightbg = (nxmid + 1 < m) ? bigger[nxmid + 1] : 1e9 + 5;
if(mxleftsm <= mnrightbg) lo = mid;
else hi = mid;
}
int mid = lo;
int nxmid = sz - (mid + 1) - 1;
double mxleftsm = (mid >= 0) ? smaller[mid] : -(1e9 + 5);
double mxleftbg = (nxmid >= 0) ? bigger[nxmid] : -(1e9 + 5);
double mnrightsm = (mid + 1 < n) ? smaller[mid + 1] : 1e9 + 5;
double mnrightbg = (nxmid + 1 < m) ? bigger[nxmid + 1] : 1e9 + 5;
if((n + m) % 2) return max(mxleftsm, mxleftbg);
else return (max(mxleftsm, mxleftbg) + min(mnrightsm, mnrightbg)) / 2;
}
ZG91YmxlIFNvbHV0aW9uOjpmaW5kTWVkaWFuU29ydGVkQXJyYXlzKGNvbnN0IHZlY3RvcjxpbnQ+ICZBLCBjb25zdCB2ZWN0b3I8aW50PiAmQikgewogICAgLy8gRG8gbm90IHdyaXRlIG1haW4oKSBmdW5jdGlvbi4KICAgIC8vIERvIG5vdCByZWFkIGlucHV0LCBpbnN0ZWFkIHVzZSB0aGUgYXJndW1lbnRzIHRvIHRoZSBmdW5jdGlvbi4KICAgIC8vIERvIG5vdCBwcmludCB0aGUgb3V0cHV0LCBpbnN0ZWFkIHJldHVybiB2YWx1ZXMgYXMgc3BlY2lmaWVkCiAgICAvLyBTdGlsbCBoYXZlIGEgZG91YnQuIENoZWNrb3V0IHd3dy5pbnRlcnZpZXdiaXQuY29tL3BhZ2VzL3NhbXBsZV9jb2Rlcy8gZm9yIG1vcmUgZGV0YWlscwogICAgaW50IG4gPSAoaW50KUEuc2l6ZSgpOwogICAgaW50IG0gPSAoaW50KUIuc2l6ZSgpOwogICAgY29uc3QgdmVjdG9yPGludD4gJnNtYWxsZXIgPSAobiA8PSBtKSA/IEEgOiBCOwogICAgY29uc3QgdmVjdG9yPGludD4gJmJpZ2dlciA9IChuIDw9IG0pID8gQiA6IEE7CiAgICBuID0gKGludClzbWFsbGVyLnNpemUoKTsKICAgIG0gPSAoaW50KWJpZ2dlci5zaXplKCk7CiAgICBpZihuID09IDApewogICAgICAgIGlmKG0gJSAyKSByZXR1cm4gKGRvdWJsZSliaWdnZXJbbSAvIDJdOwogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHJldHVybiAoKGRvdWJsZSliaWdnZXJbbSAvIDJdICsgKGRvdWJsZSliaWdnZXJbKG0gLSAxKSAvIDJdKSAvIDIuMDsgCiAgICAgICAgfQogICAgfQogICAgaW50IHN6ID0gKG4gKyBtICsgMSkgLyAyIDsKICAgIGludCBsbyA9IC0xLCBoaSA9IG47CiAgICB3aGlsZShoaSAtIGxvID4gMSl7CiAgICAgICAgaW50IG1pZCA9IChoaSArIGxvKSA+PiAxTEw7CiAgICAgICAgaW50IG54bWlkID0gc3ogLSAobWlkICsgMSkgLSAxOwogICAgICAgIGludCBteGxlZnRzbSA9IChtaWQgPj0gMCkgPyBzbWFsbGVyW21pZF0gOiAtKDFlOSArIDUpOwogICAgICAgIGludCBtbnJpZ2h0YmcgPSAobnhtaWQgKyAxIDwgbSkgPyBiaWdnZXJbbnhtaWQgKyAxXSA6IDFlOSArIDU7CiAgICAgICAgaWYobXhsZWZ0c20gPD0gbW5yaWdodGJnKSBsbyA9IG1pZDsKICAgICAgICBlbHNlIGhpID0gbWlkOwogICAgfQogICAgaW50IG1pZCA9IGxvOwogICAgaW50IG54bWlkID0gc3ogLSAobWlkICsgMSkgLSAxOwogICAgZG91YmxlIG14bGVmdHNtID0gKG1pZCA+PSAwKSA/IHNtYWxsZXJbbWlkXSA6IC0oMWU5ICsgNSk7CiAgICBkb3VibGUgbXhsZWZ0YmcgPSAobnhtaWQgPj0gMCkgPyBiaWdnZXJbbnhtaWRdIDogLSgxZTkgKyA1KTsKICAgIGRvdWJsZSBtbnJpZ2h0c20gPSAobWlkICsgMSA8IG4pID8gc21hbGxlclttaWQgKyAxXSA6IDFlOSArIDU7CiAgICBkb3VibGUgbW5yaWdodGJnID0gKG54bWlkICsgMSA8IG0pID8gYmlnZ2VyW254bWlkICsgMV0gOiAxZTkgKyA1OwogICAgaWYoKG4gKyBtKSAlIDIpIHJldHVybiBtYXgobXhsZWZ0c20sIG14bGVmdGJnKTsKICAgIGVsc2UgcmV0dXJuIChtYXgobXhsZWZ0c20sIG14bGVmdGJnKSArIG1pbihtbnJpZ2h0c20sIG1ucmlnaHRiZykpIC8gMjsKICAgIAp9Cg==
Main.java:1: error: class, interface, or enum expected
double Solution::findMedianSortedArrays(const vector<int> &A, const vector<int> &B) {
^
Main.java:1: error: class, interface, or enum expected
double Solution::findMedianSortedArrays(const vector<int> &A, const vector<int> &B) {
^
Main.java:7: error: class, interface, or enum expected
int m = (int)B.size();
^
Main.java:8: error: class, interface, or enum expected
const vector<int> &smaller = (n <= m) ? A : B;
^
Main.java:9: error: class, interface, or enum expected
const vector<int> &bigger = (n <= m) ? B : A;
^
Main.java:10: error: class, interface, or enum expected
n = (int)smaller.size();
^
Main.java:11: error: class, interface, or enum expected
m = (int)bigger.size();
^
Main.java:12: error: class, interface, or enum expected
if(n == 0){
^
Main.java:14: error: class, interface, or enum expected
else{
^
Main.java:16: error: class, interface, or enum expected
}
^
Main.java:19: error: class, interface, or enum expected
int lo = -1, hi = n;
^
Main.java:20: error: class, interface, or enum expected
while(hi - lo > 1){
^
Main.java:22: error: class, interface, or enum expected
int nxmid = sz - (mid + 1) - 1;
^
Main.java:23: error: class, interface, or enum expected
int mxleftsm = (mid >= 0) ? smaller[mid] : -(1e9 + 5);
^
Main.java:24: error: class, interface, or enum expected
int mnrightbg = (nxmid + 1 < m) ? bigger[nxmid + 1] : 1e9 + 5;
^
Main.java:25: error: class, interface, or enum expected
if(mxleftsm <= mnrightbg) lo = mid;
^
Main.java:26: error: class, interface, or enum expected
else hi = mid;
^
Main.java:27: error: class, interface, or enum expected
}
^
Main.java:29: error: class, interface, or enum expected
int nxmid = sz - (mid + 1) - 1;
^
Main.java:30: error: class, interface, or enum expected
double mxleftsm = (mid >= 0) ? smaller[mid] : -(1e9 + 5);
^
Main.java:31: error: class, interface, or enum expected
double mxleftbg = (nxmid >= 0) ? bigger[nxmid] : -(1e9 + 5);
^
Main.java:32: error: class, interface, or enum expected
double mnrightsm = (mid + 1 < n) ? smaller[mid + 1] : 1e9 + 5;
^
Main.java:33: error: class, interface, or enum expected
double mnrightbg = (nxmid + 1 < m) ? bigger[nxmid + 1] : 1e9 + 5;
^
Main.java:34: error: class, interface, or enum expected
if((n + m) % 2) return max(mxleftsm, mxleftbg);
^
Main.java:35: error: class, interface, or enum expected
else return (max(mxleftsm, mxleftbg) + min(mnrightsm, mnrightbg)) / 2;
^
Main.java:37: error: class, interface, or enum expected
}
^
26 errors