Class Solution
-
- All Implemented Interfaces:
public final class Solution2826 - Sorting Three Groups.
Medium
You are given a 0-indexed integer array
numsof lengthn.The numbers from
0ton - 1are divided into three groups numbered from1to3, where numberibelongs to groupnums[i]. Notice that some groups may be empty.You are allowed to perform this operation any number of times:
Pick number
xand change its group. More formally, changenums[x]to any number from1to3.
A new array
resis constructed using the following procedure:Sort the numbers in each group independently.
Append the elements of groups
1,2, and3toresin this order.
Array
numsis called a beautiful array if the constructed arrayresis sorted in non-decreasing order.Return the minimum number of operations to make
numsa beautiful array.Example 1:
Input: nums = 2,1,3,2,1
Output: 3
Explanation: It's optimal to perform three operations:
change nums0 to 1.
change nums2 to 1.
change nums3 to 1.
After performing the operations and sorting the numbers in each group, group 1 becomes equal to 0,1,2,3,4 and group 2 and group 3 become empty. Hence, res is equal to 0,1,2,3,4 which is sorted in non-decreasing order.
It can be proven that there is no valid sequence of less than three operations.
Example 2:
Input: nums = 1,3,2,1,3,3
Output: 2
Explanation: It's optimal to perform two operations:
change nums1 to 1.
change nums2 to 1.
After performing the operations and sorting the numbers in each group, group 1 becomes equal to 0,1,2,3, group 2 becomes empty, and group 3 becomes equal to 4,5. Hence, res is equal to 0,1,2,3,4,5 which is sorted in non-decreasing order.
It can be proven that there is no valid sequence of less than two operations.
Example 3:
Input: nums = 2,2,2,2,3,3
Output: 0
Explanation: It's optimal to not perform operations.
After sorting the numbers in each group, group 1 becomes empty, group 2 becomes equal to 0,1,2,3 and group 3 becomes equal to 4,5. Hence, res is equal to 0,1,2,3,4,5 which is sorted in non-decreasing order.
Constraints:
1 <= nums.length <= 1001 <= nums[i] <= 3
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegerminimumOperations(List<Integer> nums)-
-
Method Detail
-
minimumOperations
final Integer minimumOperations(List<Integer> nums)
-
-
-
-