Problem · Linked List
Process Queries on Cart
Learn this problemProblem statement
As an aspiring developer at Amazon, you are building a prototype for a cart management service.
items, that represents the item ids present in the cart initially.q integers, query, your service must perform as follows.Function
processQueriesOnCart(items: int[], query: int[]) → int[]
Complete the function processQueriesOnCart in the editor below.
processQueriesOnCart has the following parameters:
int items[n]: items initially in the cartint query[q]: items to add or remove
Examples
Example 1
items = [1, 2, 1, 2, 1]query = [-1, -1, 3, 4, -3]return = [2, 2, 1, 4]
Initially, there are n = 5 items in the cart represented as cart = [1,2,1,2,1] and queries = [-1,-1,3,4,-3]
| Query | Task | Cart |
|---|---|---|
| -1 | Delete first 1 from cart | [2,1,2,1] |
| -1 | Delete first 1 from cart | [2,2,1] |
| 3 | Append 3 to cart | [2,2,1,3] |
| 4 | Append 4 to cart | [2,2,1,3,4] |
| -3 | Delete first 3 from cart | [2,2,1,4] |
Report [2,2,1,4] as the final cart.
Example 2
items = [5, 1, 2, 2, 4, 6]query = [1, -2, -1, -1]return = [5, 2, 4, 6]
items = [5, 1, 2, 2, 4, 6]
queries = [1, -2, -1, -1]
| Query | Task | Cart |
|---|---|---|
| 1 | Append 1 to cart | [5, 1, 2, 2, 4, 6, 1] |
| -2 | Delete first 2 from cart | [5, 1, 2, 4, 6, 1] |
| -1 | Delete first 1 from cart | [5, 2, 4, 6, 1] |
| -1 | Delete first 1 from cart | [5, 2, 4, 6] |
Report [5, 2, 4, 6] as the final cart.
Constraints
1 <= n, q <= 2 * 10^51 <= items[i] <= 10^9-10^9 <= query[i] <= 10^9- It is guaranteed that
query[i]!= 0