多段线数据压缩
前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于大厂机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:CSDN。
题目描述
下图中,每个方块代表一个像素,每个像素用其行号和列号表示。
![]()
为简化处理,多线段的走向只能是水平、竖直、斜向45度。上图中的多线段可以用下面的坐标串表示:(2,8),(3,7),(3,6),(3,5),(4,4),(5,3),(6,2),(7,3),(8,4),(7,5)。但可以发现,这种表示不是最简的,其实只需要存储6个蓝色的关键点即可,它们是线段的起点、拐点、终点,而剩下4个点是冗余的。现在,请根据输入的包含有冗余数据的多线段坐标列表,输出其最简化的结果。
输入描述
2 8 3 7 3 6 3 5 4 4 5 3 6 2 7 3 8 4 7 5
所有数字以空格分隔,每两个数字一组,第一个数字是行号,第二个数
该博客介绍了如何使用Python解决华为在线测评(OD)中的一道多段线数据压缩问题。题目要求从给定的多线段坐标列表中,通过去除冗余点,找到最简化的坐标表示。输入描述包括行号和列号的坐标对,输出应为压缩后的坐标列表。博客提供了一个样例和对应的Python代码实现。
订阅专栏 解锁全文

6991

被折叠的 条评论
为什么被折叠?



