通过率 71% · 提交 7 · 通过 5
小慕正在开发一款存储系统,该系统需要按照特定的写入策略向磁盘写入数据。每次可以向单块磁盘写入`4KB`数据,并且每写入`n`次,就可以重新选择写入策略。存储系统支持三种不同的写入策略: 策略一:轮循写入 磁盘按照编号依次写入。例如: 设有`3`块磁盘,编号为`0, 1, 2`。 当`n=2`时,写入顺序为:`0 -> 1`。 当`n=5`时,写入顺序为:`0 -> 1 -> 2 -> 0 -> 1`。 策略二:优先写入剩余空间较大的磁盘 当多个磁盘的剩余空间相同时,优先写入编号较小的磁盘。例如: 设有`3`块磁盘,编号`0, 1, 2`,容量分别为`12KB, 16KB, 24KB`。 当`n=2`时,写入顺序为:`2 -> 2`。 当`n=5`时,写入顺序为:`2 -> 2 -> 1 -> 2 -> 0`。 策略三:按比例轮循写入 磁盘按照预设的写入比例进行写入。例如: 设有`3`块磁盘,编号`0, 1, 2`,写入比例为`1:2:3`。 当`n=3`时,写入顺序为:`0 -> 1 -> 1`。 当`n=6`时,写入顺序为:`0 -> 1 -> 1 -> 2 -> 2 -> 2`。 切换写入策略时,可以选择不同的策略或保持当前策略不变。但切换后不会继承上次写入策略的执行结果。例如: 设有`3`块磁盘`0, 1, 2`,写入比例`1:1:2`,总数据量`24KB`。 如果`n=2`,始终使用策略`1`,写入顺序可能是: `(策略1) 0 -> 1` `(策略1) 0 -> 1` `(策略1) 0 -> 1` 如果`n=5`,始终使用策略`3`,写入顺序可能是: `(策略3) 0 -> 1 -> 2 -> 2 -> 0` `(策略3) 0 -> 1 -> 2 -> 2 -> 0` 小慕的任务是找出几种写入策略分配方案,使得最终所有磁盘的(占用率 = 写入数据量 / 总容量)能够保持均衡。 注意: 如果不存在合适的写入策略使磁盘占用率均衡,则返回`0`。 若存在合适的策略,则最终的磁盘空间占用率一定是整除结果,精度需满足 `>0.000001`。
这类题属于华为校招机考方向中「DFS / 模拟」方向的高频题型,通常考察对「DFS / 模拟」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有