**Longest Uploaded Prefix solution leetcode** – You are given a stream of `n`

videos, each represented by a **distinct** number from `1`

to `n`

that you need to “upload” to a server. You need to implement a data structure that calculates the length of the **longest uploaded prefix** at various points in the upload process.

Table of Contents

## [Solution] Longest Uploaded Prefix solution leetcode

We consider `i`

to be an uploaded prefix if all videos in the range `1`

to `i`

(**inclusive**) have been uploaded to the server. The longest uploaded prefix is the **maximum **value of `i`

that satisfies this definition.

Implement the `LUPrefix `

class:

`LUPrefix(int n)`

Initializes the object for a stream of`n`

videos.`void upload(int video)`

Uploads`video`

to the server.`int longest()`

Returns the length of the**longest uploaded prefix**defined above.

## [Solution] Longest Uploaded Prefix solution leetcode

Input["LUPrefix", "upload", "longest", "upload", "longest", "upload", "longest"] [[4], [3], [], [1], [], [2], []]Output[null, null, 0, null, 1, null, 3]ExplanationLUPrefix server = new LUPrefix(4); // Initialize a stream of 4 videos. server.upload(3); // Upload video 3. server.longest(); // Since video 1 has not been uploaded yet, there is no prefix. // So, we return 0. server.upload(1); // Upload video 1. server.longest(); // The prefix [1] is the longest uploaded prefix, so we return 1. server.upload(2); // Upload video 2. server.longest(); // The prefix [1,2,3] is the longest uploaded prefix, so we return 3.

## [Solution] Longest Uploaded Prefix solution leetcode

`1 <= n <= 10`

^{5}`1 <= video <= 10`

^{5}- All values of
`video`

are**distinct**. - At most
`2 * 10`

calls^{5}**in total**will be made to`upload`

and`longest`

. - At least one call will be made to
`longest`

.