华为OD机试真题 新系统 2026-09-13 C++【手机桌面整理】

目录

题目

思路

Code

题目

题目内容:

手机系统维护一个 App 列表,列表按最近操作顺序排列,最前面是最近操作的 App。

OPEN name:若 App 已存在,将其移到列表最前面,打开次数加 1,并返回当前打开次数;若不存在,返回 -1。

INSTALL name:若 App 已存在,只将其移到列表最前面,打开次数不变;若不存在,将其安装到最前面并把打开次数设为 0。列表已满时,先卸载最久未使用的 App。INSTALL 不产生返回值。

UNINSTALL name:若 App 已存在,将其移除并返回累计打开次数;若不存在,返回 -1。

请按操作顺序收集所有 OPEN 和 UNINSTALL 的返回值。

0 ≤ capacity ≤ 1000,操作数为 1 至 1000。App 名称由英文字母或数字组成,区分大小写,长度为 1 至 20。

输入描述:

第一行输入桌面容量 capacity。

后续每行输入一条操作指令,直到文件结束。指令格式为操作名、一个空格和 App 名称。

输出描述:

输出一个整数数组,按发生顺序记录所有 OPEN 和 UNINSTALL 操作的返回值。INSTALL 不写入数组。

样例 1

以下样例按公开题意构造,不冒充公开页面被截断的原样例。