分辨率排序
2026 华为OD机试真题 4月19日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
题目描述
4K、2K、1080P、720P清晰度定义(清晰度:宽x高)如下:
- 4K:3840 x 2160
- 2K: 2560 x 1440
- 1080P:1920 x 1080
- 720P: 1280 x 720
清晰度大小定义:720P<1080P<2K<4K
分辨率(宽x高)匹配清晰度的规则:给定任意分辨率(宽x高),宽和高同时都大于等于清晰度的宽、高定义时,才认为满足该清晰度定义,并且优先匹配高级别清晰度。
例如:2600x1400:
- 2600<3840,1400<2160,不满足4K清晰度定义
- 2600>2560,1400<1440,不满足2K清晰度定义
- 2600>1920,1400>1080,满足1080P清晰度定义
因此2600x1400是1080P清晰度。
特别的:
- 所有低于720P的清晰度,都认为是720P。
- 最大清晰度为4K,即只要满足4K清晰度标准的宽、高,无论多大,都归为4K。
- 简化逻辑:不考虑交换宽高的情况,例如2500.3200,匹配为1080P,不能匹配为2K。
分辨率大小规则:
- 优先比较该分辨率对应的清晰度大小
- 如果清晰度一致,则比较“面积(宽=宽x高)”
- 如果清晰度和面积一致,则比较“宽”
输入描述
n组"宽x高"字符串,空格间隔,n<10
输出描述
从大到小排序的n组"宽x高"字符串,空格间隔
示例1
输入
3840x2160 3840x2161 3840x1080 2560x1440 1920x1080 1x1
输出
840x2161 3840x2160 2560x1440 3840x1080 1920x1080 1x1
说明
示例2
输入
2560x1440 4000x5000 5000x4000
输出
5000x4000 4000x5000 2560x1440
说明
解题思路
核心思想
- 解析输入:读取以空格分隔的分辨率字符串(如 "3840x2160"),解析出宽()和高()。
- 清晰度判断:根据给定的阈值(4K、2K、1080P、720P)判断每个分辨率所属的最高清晰度等级。
- 4K: 且
- 2K: 且
- 1080P: 且
- 720P: 且
- 低于 720P 的统一归为 720P。
- 排序逻辑:使用自定义排序规则对分辨率进行降序排列:
- 第一优先级:清晰度等级(4K > 2K > 1080P > 720P)。
- 第二优先级:面积()。
- 第三优先级:宽度()。
- 输出结果:将排序后的分辨率字符串按空格连接并输出。
复杂度分析
- 时间复杂度:,其中 为分辨率的数量()。由于 非常小,排序开销极低。
- 空间复杂度:,用于存储分辨率对象和排序结果。