1 条题解
-
0
带恢复与重试限制的执行状态机 题解
核心思路
本题是按事件顺序模拟有限状态机。维护两个变量:
retries:已经成功执行过的自动恢复/重试次数,初始为0。last_reason:最近一次失败原因,初始为NONE。
从前到后处理事件,一旦得到终态就立即输出。
处理规则
遇到
SAFE时,输出:SAFE_STOP STOPPED retries last_reason遇到
SUCCESS时,输出:SUCCESS COMPLETED retries NONE遇到
FAIL reason recover_ok risk manual时,先更新last_reason=reason,然后按优先级判断:- 若
risk=1或manual=1,输出SAFE_STOP STOPPED retries reason。 - 否则若
recover_ok=0,输出FAILED RECOVERY retries reason。 - 否则若
retries >= max_retry,输出FAILED RETRY_LIMIT retries reason。 - 否则令
retries += 1,继续处理后续事件。
若所有事件处理完仍未终止,输出:
FAILED INCOMPLETE retries last_reason复杂度
时间复杂度:
O(E)。空间复杂度:
O(1)。
- 1
信息
- ID
- 740
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 8
- 已通过
- 2
- 上传者