注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
题目给出一组 `StepProgressEvent`,每个 event 包含:
```python
timestamp: datetime
step_id: int
parent_step_id: Optional[int]
run_state: RunState # running / done / ...
text: str
```
同一个 `step_id` 可能会收到多条更新,例如先是 `running`,之后变成 `done`;event 也可能乱序到达。每个 step 可以有子 step,最终需要维护并输出当前最新的 step hierarchy,例如:
```text
1 done - Query intent: literature review
2 running - Retrieving candidate papers
3 done - Found 21 candidate th)`,用 depth 控制缩进,避免递归过深的问题。
复杂度:
* 单条 event 更新:平均 O(1)
* 输出当前整棵树:O(N)
我觉得这题考的重点不是 DFS 本身,而是:
1. 乱序事件下,必须按 `timestamp` 保留同一 `step_id` 的最新状态;
2. parent / child 到达顺序不确定;
3. 设计成增量更新,而不是每来一条 event 都从头重建整棵树。 |