可见区间个数(c++ implementation)




//============================================================================
// Name        : Max_Visual_Blocks.cpp 求可见子区间的个数,类似某知名国有银行的考题 // Author      : tricoffee // Version     : // Copyright   : Your copyright notice // Description : Max_Visual_Blocks in C++, Ansi-style //============================================================================ #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; struct Point{ int x; int y; int d; }; int cmp(Point a,Point b) {     if(a.x==b.x) return a.y<b.y;     else return a.x<b.x; } int main()
{
int n;
cin >> n;
if(n<=0) return -1;
Point a[n]; for(int i=0;i<n;++i){
int x = 0; int y = 0;
cin >> x >> y;
a[i].x = x; a[i].y = y;
}
sort(a,a+n,cmp);//点排序;
int cnt = 1;
for(int i=1;i<n;++i){
if(a[i].x>a[i-1].x){
if(a[i].y>a[i-1].y)
cnt += 1;
else cnt += 0;
}
else if(a[i].x==a[i-1].x) {
cnt += 0; }
else return -1;
}
cout << cnt << endl;
return 0; }
# input: 5 (说明有n“对”表示“区间”的左,右边界的数据)
# 以下n行,空格间隔(为了表达效果好,这里用逗号间隔)
# 3,4
# 2,6
# 1,4
# 8,10
# 7,10
# ans: 3 (说明最多有3个区间可见)

#笔试题目#
全部评论
图片版代码是为了便于阅读;文字版代码是为了便于拷贝。PS:网页编辑器实在难用,有谁能改进改进,做一个像word,wps那样好用的,我们不想编辑东西的时候还在敲代码,那样效率太低了。
点赞 回复 分享
发布于 2018-08-31 00:26

相关推荐

在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务