Interview Guides

Given a list of log entries logs representing a continuous stream and an integer window_size, write a function that returns the log entries after removing duplicates seen within the most recent window_size accepted entries. Preserve the original order of kept logs. A log is considered duplicate if its exact string value already exists in the current deduplication window.
1 <= len(logs) <= 10^50 <= len(logs[i]) <= 2000 <= window_size <= 10^5