In the bustling world of TikTok, data management behind the scenes is critical for smooth content delivery. The platform's core storage mechanism is represented by a binary array called tiktokStorage
, which holds n
bits of data, each representing a different type of content:
As TikTok's user engagement peaks, it's essential to minimize the transitions between standard and priority content in tiktokStorage
to ensure the platform's content pipeline operates seamlessly.
Two engineers, Liora and Thorne, are tasked with reorganizing the content to achieve this goal. They can perform operations to swap the bits at any two distinct indices in the array.
Your task is to determine the minimum number of swap operations required so that after performing these operations, there are the fewest possible transitions between 0s and 1s in the tiktokStorage
array.
Function Description
Complete the function GetOptimalContentStorage
in the editor.
GetOptimalContentStorage
has the following parameter(s):
int tiktokStorage[n]
: An integer array representing the current organization of TikTok's content storage, with 0s for standard content and 1s for priority content.
π Credit to da excellect π spike!! π
Example 1:
Input: tiktokStorage = [1, 0, 1, 0, 1]
Output: 1
Explanation:The optimal strategy of operations is to:
- Swap
tiktokStorage[0]
andtiktokStorage[3]
. After performing this operation, the array becomes[0, 0, 1, 1, 1]
.- This configuration of
tiktokStorage
has only one transition between 0s and 1s at index 1 and 2.- It can be proven that no other configuration has fewer transitions than 1.
- Thus, the minimum number of swap operations required to achieve this configuration is 1.
2 <= n <= 105
tiktokStorage[i] β {0, 1}

input:
output: