forked from super30admin/Design-5
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
051b190
commit 7751067
Showing
1 changed file
with
44 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,51 @@ | ||
# Design-5 | ||
|
||
## Problem: | ||
## Problem 1: | ||
This problem was asked at Intuit | ||
|
||
Design a parking lot system where you need to provide a token with the parking space number on it to each new entry for the space closest to the entrance. | ||
When someone leave you need update this space as empty. | ||
What data structures will you use to perform the closest empty space tracking, plus finding what all spaces are occupied at a give time. | ||
|
||
## Problem 2: Copy List with Random Pointer | ||
|
||
https://leetcode.com/problems/copy-list-with-random-pointer/ | ||
|
||
A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. | ||
|
||
Return a deep copy of the list. | ||
|
||
The Linked List is represented in the input/output as a list of n nodes. Each node is represented as a pair of [val, random_index] where: | ||
|
||
val: an integer representing Node.val | ||
random_index: the index of the node (range from 0 to n-1) where random pointer points to, or null if it does not point to any node. | ||
|
||
|
||
Example 1: | ||
|
||
|
||
Input: head = [[7,null],[13,0],[11,4],[10,2],[1,0]] | ||
Output: [[7,null],[13,0],[11,4],[10,2],[1,0]] | ||
Example 2: | ||
|
||
|
||
Input: head = [[1,1],[2,1]] | ||
Output: [[1,1],[2,1]] | ||
Example 3: | ||
|
||
|
||
|
||
Input: head = [[3,null],[3,0],[3,null]] | ||
Output: [[3,null],[3,0],[3,null]] | ||
Example 4: | ||
|
||
Input: head = [] | ||
Output: [] | ||
Explanation: Given linked list is empty (null pointer), so return null. | ||
|
||
|
||
Constraints: | ||
|
||
-10000 <= Node.val <= 10000 | ||
Node.random is null or pointing to a node in the linked list. | ||
Number of Nodes will not exceed 1000. |