欢迎光临
我们一直在努力

4.19华为OD机试真题 新系统 - 分辨率排序 (JavaPyCC++JsGo)

分辨率排序

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高),宽和高同时都大于等于清晰度的宽、高定义时,才认为满足该清晰度定义,并且优先匹配高级别清晰度。

例如:2600×1400:

  • 2600<3840,1400<2160,不满足4K清晰度定义
  • 2600>2560,1400<1440,不满足2K清晰度定义
  • 2600>1920,1400>1080,满足1080P清晰度定义

因此2600×1400是1080P清晰度。

特别的:

  • 所有低于720P的清晰度,都认为是720P。
  • 最大清晰度为4K,即只要满足4K清晰度标准的宽、高,无论多大,都归为4K。
  • 简化逻辑:不考虑交换宽高的情况,例如2500.3200,匹配为1080P,不能匹配为2K。
  • 分辨率大小规则:

  • 优先比较该分辨率对应的清晰度大小
  • 如果清晰度一致,则比较“面积(宽=宽x高)”
  • 如果清晰度和面积一致,则比较“宽”
  • 2026 华为OD机试真题 4月19日华为OD上机新系统考试真题 100 分题型

    输入描述

    n组"宽x高"字符串,空格间隔,n<10

    输出描述

    从大到小排序的n组"宽x高"字符串,空格间隔

    示例1

    输入

    3840×2160 3840×2161 3840×1080 2560×1440 1920×1080 1×1

    输出

    840×2161 3840×2160 2560×1440 3840×1080 1920×1080 1×1

    说明

    示例2

    输入

    2560×1440 4000×5000 5000×4000

    输出

    5000×4000 4000×5000 2560×1440

    说明

    解题思路

    核心思想

  • 解析输入:读取以空格分隔的分辨率字符串(如 "3840×2160"),解析出宽($W$)和高($H$)。
  • 清晰度判断:根据给定的阈值(4K、2K、1080P、720P)判断每个分辨率所属的最高清晰度等级。
    • 4K: $W \\ge 3840$ 且 $H \\ge 2160$
    • 2K: $W \\ge 2560$ 且 $H \\ge 1440$
    • 1080P: $W \\ge 1920$ 且 $H \\ge 1080$
    • 720P: $W \\ge 1280$ 且 $H \\ge 720$
    • 低于 720P 的统一归为 720P。
  • 排序逻辑:使用自定义排序规则对分辨率进行降序排列:
    • 第一优先级:清晰度等级(4K > 2K > 1080P > 720P)。
    • 第二优先级:面积($W \\times H$)。
    • 第三优先级:宽度($W$)。
  • 输出结果:将排序后的分辨率字符串按空格连接并输出。
  • 复杂度分析

    • 时间复杂度:$O(n \\log n)$,其中 $n$ 为分辨率的数量($n < 10$)。由于 $n$ 非常小,排序开销极低。
    • 空间复杂度:$O(n)$,用于存储分辨率对象和排序结
    赞(0)
    未经允许不得转载:171主机测评 » 4.19华为OD机试真题 新系统 - 分辨率排序 (JavaPyCC++JsGo)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址