求边界点 -- Python
问题描述:
P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)
如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。
代码实现:
# -*- coding:utf-8 -*-
"""
5
(1,2)(5,3)(4,6)(7,5)(9,0)
output:
(4 6)(7 5)(9 0)
思路:由于边界点的纵坐标,从左到右依次下降,所以优先求出最右边点,然后记录最大y的坐标max_y,后面的点依次对比,如果y值比max_y还大,说明跟他也是边界点
"""
import sysdef find_points():nums = int(sys.stdin.readline())points = []result = []for i in range(0, nums):read_list = [int(i) for i in sys.stdin.readline().strip().split()]points.append((read_list[0], read_list[1]))points.sort() # 排序,元组排序会先按第一个数排,再按第二个数排max_x2y = points[nums - 1][1]result.append(points[nums - 1])for j in range(nums - 2, -1, -1): # 倒过来求if points[j][1] > max_x2y:result.insert(0, points[j])max_x2y = points[j][1]for i in result:print(i[0], i[1])find_points()
结果:
note:
1、牛客网输入需要导入sys,利用sys.stdin.strip().readline().split()读取数据,一行这样的代码,仅仅代表读取一行,如果需要读取多行,可以用多行这样的代码,或者用while true循环读取。
2、牛客网结果以print打印的结果为准。
求边界点 -- Python相关推荐
- 『矩阵论笔记』详解最小二乘法(矩阵形式求导)+Python实战
详解最小二乘法(矩阵形式求导)+Python实战! 文章目录 一. 矩阵的迹 1.1. 转置矩阵 1.2. 迹的定义 1.3. 七大定理 二. 最小二乘法 2.1. 求解介绍 2.2. 另一角度 2. ...
- python求平均值,python 怎么求平均值
python求平均值的方法:首先新建一个python文件:然后初始化sum总和的值:接着循环输入要计算平均数的数,并计算总和sum的值:**后利用"总和/数量"的公式计算出平均数即 ...
- python打印实心菱形图案_python输入三角形三边求面积|python打印实心菱形图案
python编写程序:打印*组成的倒三角形.利用循环语句打印由星号组成的倒三角? 是这样吗? 如何用python创建一个循环从0开始来打印奇数,直到20? 如下: #/usr/bin/python3 ...
- python已知两条直角边求斜边,Python实现“已知三角形两个直角边,求斜边”
用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. 思路:伪代码描述下步骤 1.-input a ...
- python找素数程序_求素数python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 质数(prime number),又称素数,指在大于1的自然数中,除了1和该数自 ...
- python怎么求指数_求指数 python
softmax用于多分类过程中最后一层,将多个神经元的输出,映射到(0, 1)区间内,可以看成概率来理解,从而来进行多分类! softmax函数如下: 更形象的如下图表示: softmax 直白来说就 ...
- python求解析解,Python解微分方程
Python解微分方程 微分方程回顾 微分方程:python 解析解(SymPy) 微分方程:python数值解(SciPY) 微分方程组:python数值解 微分方程回顾 微分方程是用来描述某一类函 ...
- 从1-100求质数 Python for else
题目:求1-100的质数 分析:质数是只能被1或者本身除的,如果一个数除以比小的数为0,说明它不是质数. 代码思路: 先创建一个l的空数组,用来存储质数. 从2到100开始遍历,对于每一个i,检查有没 ...
- 迪杰斯特拉算法(Dijkstra)求最短路径Python
迪杰斯塔拉(Dijkstra)算法求最短路径 序 关于Dijkstra Dijkstra算法讲解 Dijkstra算法的弊端 第一步:进行初始化 第二步:主程序开始 又是初始化 核心的核心[^5] 最 ...
- python多元函数求解_一元和多元函数求极值(Python)-牛顿法
1. 引言 我们在中学的时候学过一元二次函数,求解时引入一个求根公式,代入公式就可以得到不同的根,假如想计算一个高次方程的解,我们还能推导出求根公式吗? 伽罗瓦在群论中证实,五次及以上多项式方程没有显 ...
最新文章
- vim常用命令总结 (转)
- 为什么Java中类方法不能访问实例方法
- Yii的路由机制分析
- 24V转5V的常规操作7812,7805,重要的是器件选型
- 微信高并发资金交易系统设计方案——百亿红包背后的技术支撑
- 第五节、矩阵分解之LU分解
- latex怎么让table下面空白变小_LaTeX:pgf usepackage(宏包)的中译
- 别再杀他们祭天了!1024程序员日那些不得不吐槽的点
- 一度智信:电商平台商品定价策略
- jsp打印去掉页眉页脚
- 编程英语:triggered(触发,引起)
- 读取MoleBox打包的可执行文件中的数据文件一法
- 初学larval 第一篇(大神绕道哦,针对新手友好的一篇)
- 汇编作业:人均GDP
- Packet Tracer 入门教程
- dcs常用的冗余方式_一种DCS系统冗余网络设备电源配置的制作方法
- 【ArcGIS风暴】ArcGIS tif转jpg:JPEG压缩仅支持8位或16位无符号数据(具有一个或三个波段,且没有色彩映射表)解决方案!
- 进入计算机管理界面win7,win7系统打开服务管理界面的操作方法
- 学习少儿编程有什么好处呢?
- 利用tabluea分析数据的案例_tableau数据可视化案例