2018今日头条

P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)

如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。

输入描述:
第一行输入点集的个数 N, 接下来 N 行,每行两个数字代表点的 X 轴和 Y 轴。
对于 50%的数据,  1 <= N <= 10000;
对于 100%的数据, 1 <= N <= 500000;
输出描述:
输出“最大的” 点集合, 按照 X 轴从小到大的方式输出,每行两个数字分别代表点的 X 轴和 Y轴。
输入例子1:
5
1 2
5 3
4 6
7 5
9 0
输出例子1:
4 6
7 5
9 0
#include<bits/stdc++.h>
using namespace std;

bool cmpFirst(const pair<int,int>&x,const pair<int,int>&y){
    return x.first>y.first;
}

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        vector<pair<int,int>> arr;
        vector<int> tmpArr;
        for(int i=0,x,y;i<n;i++){
            scanf("%d%d",&x,&y),arr.emplace_back(x,y),tmpArr.push_back(y);
        }
        sort(arr.begin(),arr.end(),cmpFirst);

        int y_max=-1;
        vector<pair<int,int>> ans;
        for(int i=0;i<n;i++){
            if(arr[i].second>y_max){
                y_max=arr[i].second;
                ans.push_back(arr[i]);
            }
        }
        for(auto it =ans.rbegin();it!=ans.rend();it++){
            printf("%d %d\n",it->first,it->second);
        }
    }
    return 0;
}

python 代码:根据上面的思路写的 但是只通过了80%(内存超出限制)

n=int(input())
points=[]
res=[]
for i in range(n):
    [x,y]=list(map(int,input().split()))
    points.append((x,y))
points.sort(reverse=True)#sorted(points)
maxY=-1;
for p in points:
    if p[1]>maxY:
        maxY=p[1]
        res.append(p)
for p in res[::-1]:
    print(p[0],p[1])

原文地址:https://www.cnblogs.com/bright-mark/p/9464145.html

时间: 2024-10-20 03:12:33

2018今日头条的相关文章

2018今日头条笔试(第二题)

题目描述 给定一个数组序列,需要选出一个区间,使得该区间是所有区间中经过如下计算的值最大的一个. 区间中的最小数 * 区间所有数的和 最后程序输出经过计算后的最大值即可,不需要输出具体的区间.如给定序列[6,2,1]可得到左右可以选定各个区间的计算值: [6]=6*6=36 [2]=2*2=4; [1]=1*1=1; [6,2]=2*8=16; [2,1]=1*3=3; [6,2,1]=1*9=9 则程序输出36 区间所有数字都在[0,100]的范围内. 解题思路: 可以看出我们需要维护一个区间

2018今日头条春招的一道笔试题 —— 通过改变枚举的变量进行枚举优化

题目如下: 这道题我们最先想到的做法,应该就是2重循环枚举数对,然后把数对放在set里去重,最后输出set的大小,即输出set.size( ).代码如下: 1 #include<iostream> 2 #include<set> 3 using namespace std; 4 5 int n, k, a[100000]; 6 set<pair<int, int>> mypairs; 7 8 int main() 9 { 10 cin >> n

2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出'1234567890',对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达'1234567890',如下(为了好看,里面加了tab空格符) '66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666''6...6 ....6 ....6 ....6 6...6 6.... 6

iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码

iOS精选源码 控制台开发调试神器GHConsole iOS 高度封装自适应表单(编辑及附件) 基于AVPlayer的视频播放器 仿alibaba分类 Swift 4 - 模仿今日头条 SGBrowserView一行代码弹出你定义的View 最适合练手的项目--壁纸宝贝 仿京东筛选 SGImageBrowser 一个调用方法快速实现任意一个或多个imageView..... ARKit射击小游戏 一句话实现iOS版本更新提示 iOS一个炫酷交互的第三方微博 CoreText 实现图文混排 登录页

[新浪]今日头条被高估了吗?

今日头条被高估了吗? 欢迎关注"创事记"的微信订阅号:sinachuangshiji 文/华生 来源:砺石商业评论(ID:libusiness) 砺石导言 对于今日头条这样一家缺乏核心竞争力,并且始终头顶较大法律与道德风险的企业,750亿美金的市值是否被高估了? 近日,陆续有自媒体传出今日头条母公司字节跳动已完成不低于25亿美元金额的Pre-IPO融资消息,投前估值达到750亿美元. 今日头条在今年春节后曾以500亿美金的估值向市场询价,但因遭遇监管风波而融资遇冷,后来据知情人士透露,

百度AI人工智能产品体验不好?今日头条进军AI人工智能领域?

关于AI智能生活问题? Python语言是人工智能要用的.还有就是C+和JAVA等一些语言,算法我个人觉得应该是重点.这相当是人的大脑. 2018年12月23号,这一天传来一个非常不好的消息.也就是25号圣诞节那一天,公司发布公告:这一天每个人都要上班,领导来检查.我就想知道那个领导非得圣诞节来啊!好吧认了,毕竟给人打工得遵守别人定的规则. ** AI人工智能广泛性** 回到原题,现在非常多AI智能家具,电器,数码.也有很多盆友已经被深深吸引了!如今"人工智能"已经普遍走进中国大学校园

今日头条与自媒体江湖

自媒体江湖里的人,必定有三要素要抓.一是阅读,二是写作,三是运营. 这样,自媒体江湖又分三类:一类是强写作型,能写深度内容.一类是强运营型,能搞定大量用户.最后一类是两强型,写作运营两手抓. 不可否认的是,无论哪类自媒体,阅读都是逃不开的那一步.如果没有阅读,就没有知识的输入,也没有知识的积累,更别谈写作输出了.如果没有写作,那你做自媒体? 到了写作,就开始分类了. 强写作型的自媒体,能写深度的内容,一下笔就是几千字.因为他能够专注,他不用操心运营这种琐碎的事情.这类人只要做好阅读,积累好知识,

今日头条 SEO 研究,值得深思的 5 个问题

在做SEO的过程中,实际上,我并不是“技术挂”更多的是基于搜索原理与大量的实战,总结相关的经验,这么多年,经常养成一个小习惯,总是记录一些工作中遇到的一些小问题与小技巧. 特别是2017年,12月份开始跟踪熊掌号算法之后,从新进入SEO行业,我依然保留每隔一定周期审查网站日志的习惯. 读“日志”如“看人”,它让你更加清晰与透彻. “ToutiaoSpider” 记得在2018年6月份的时候,我在日志中发现一个特别特殊的蜘蛛“ToutiaoSpider”,这让我颇为好奇,于是我打开TXT文档,记录

知乎上线“明日头条”,亮剑直指今日头条?

4月1日凌晨,知乎悄然上线了"资讯类内容",并对外宣称发布了"明日头条",意图向移动资讯开始发起进攻.来自知乎内部员工发布的<知乎重磅发布[明日头条],直接促使领结婚证免费>愚人文章中煞有介事地称:"知乎现在正式重磅发布新功能--明日头条,这个划时代新功能将颠覆性地为知乎用户带来全新的内容体验,通过高质量内容的聚合,知乎希望,给世界增加一点颜值." 知乎在这个时候突然推出的"明日头条",着实让人有些惊讶,难道知乎真