首页 > 学院 > 开发设计 > 正文

1029. Median 解析

2019-11-11 01:19:51
字体:
来源:转载
供稿:网友

并归就好~~估计数据大 直接用scanf了 怕cin超时

#include <iostream>#include <string>#include <vector>using namespace std;vector <long long> l1;vector <long long> l2;int N1, N2;int main() {	long long temp = 0;		scanf("%d", &N1);	for (int i = 0; i < N1; i++) {		scanf("%lld", &temp);		l1.push_back(temp);	}	scanf("%d", &N2);	for (int i = 0; i < N2; i++) {		scanf("%lld", &temp);		l2.push_back(temp);	}	int i = 0, j = 0;	int len = N1 + N2 + 1;	len /= 2;	len;	int mid;	bool isFind = false;	int count = 0;		while (i < N1 && j < N2 && !isFind) {				if (l1[i] < l2[j]) {			count++;			if (count == len) {				mid = l1[i];				isFind = true;				break;			}			i++;		}		else {						count++;			if (count == len) {				mid = l2[j];				isFind = true;				break;			}			j++;		}			}		if (!isFind) {		while (i < N1) {					count++;			if (count == len) {				mid = l1[i];				isFind = true;				break;			}			i++;		}	}	if (!isFind) {		while (j < N2) {					count++;			if (count == len) {				mid = l2[j];				isFind = true;				break;			}			j++;		}	}	cout << mid << endl;	system("pause");	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表