华为OD机试真题-多段线数据压缩-2023年OD统一考试(C卷)

news/2024/7/20 18:17:14 标签: 华为od, c语言, 开发语言, java, python

题目描述:

下图中,每个方块代表一个像素,每个像素用其行号和列号表示。

为简化处理,多段线的走向只能是水平、竖直、斜向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

1、所有数字以空格分隔,每两个数字一组,第一个数字是行号,第二个数字是列号;

2、行号和列号范围为[0,64),用例输入保证不会越界,考生不必检查;

3、输入数据至少包含两个坐标点。

输出描述:

2 8 3 7 3 5 6 2 8 4 7 5

压缩后的最简化坐标列表,和输入数据的格式相同。

补充说明:

输出的坐标相对顺序不能变化。

示例1

输入:


http://www.niftyadmin.cn/n/5269171.html

相关文章

【C语言(十)】

字符函数和字符串函数 一、字符分类函数 C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使用都需要包含⼀个头文件是 ctype.h 这些函数的使用方法非常类似,我们就讲解⼀个函数的事情,其他的非…

什么是PHP的迭代器和生成器?

PHP中的迭代器(Iterator)和生成器(Generator)是用于处理和遍历数据集合的有用工具。它们使数据遍历更加灵活、高效,并减少了内存消耗。以下是它们的概述: 迭代器(Iterator)&#xff…

关于在Java中打印“数字”三角形图形的汇总

之前写过一篇利用*打印三角形汇总,网友需要查看可以去本专栏查找之前的文章,这里利用二维数组嵌套循环打印“数字”三角形,汇总如下,话不多说,直接上代码: /*** 打印如下数字三角形图形*/ public class Wo…

GoogLeNet(pytorch)

亮点与创新: 1. 引入Inception基础结构 2. 引入PW维度变换卷积,启迪后续参数量的优化 3. 丢弃全连接层,使用平均池化层(大大减少模型参数) 4. 添加两个辅助分类器帮助训练(避免梯度消失,用于…

基于Springboot的旅游网站设计与实现(论文+调试+源码)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

Linux df命令教程:如何有效地查看磁盘空间使用情况(附案例详解和注意事项)

Linux df命令介绍 Linux df命令(英文全拼:disk free)用于显示目前在Linux系统上的文件系统磁盘使用情况统计。它可以帮助我们了解文件系统的磁盘使用情况,包括已使用的磁盘空间、可用的磁盘空间等。 Linux df命令适用的Linux版本…

RGB颜色表示法(RGBA解释) 以及常见的色调

RGB:代表red,green,blue。即用这三个色调表示所有颜色。 表示方式如:(255,255,255)白色、(0,0,0)黑色 改变三个不同的数值可以得到不同的颜色,数值取值范围为0-255&#…

你应该关注的 36 个 R 博客和网站

简介 本文来自博客, 是从数千个网络博客中挑选出的最佳 R 编程博客,根据流量、社交媒体关注者和更新频率进行排名。 看看你了解哪些,可以通过一些软件订阅这些网站,实现更新提醒等功能。