Collapse request status log

Write codeMedium14 min

Your task

A mobile client retries flaky uploads, so the ingestion log can contain several lines for the same request id, each of the form "<request_id> <status>". Later lines for an id supersede earlier ones. Collapse the log so each request id appears exactly once, formatted as "<request_id> <status>" with its most recent status, but keep the ids in the order in which they FIRST appeared. Return the collapsed lines.

Examples

dedupe_retries(lines: list[str]) -> list[str]
Example 1
Inputdedupe_retries(["r1 pending", "r2 pending", "r1 failed", "r1 succeeded"])
Output["r1 succeeded", "r2 pending"]