Given an array of integers check if it is possible to partition the array into some number of subsequences of length k each, such that:
Each element in the array occurs in exactly one subsequence
For each subsequence, all numbers are distinct
Elements in the array having the same value must be in different subsequences
If it is possible to partition the array into subsequences while satisfying the above conditions, return "Yes", else return "No". A subsequence is formed by removing 0 or more elements from the array without changing the order of the elements that remain. For example, the subsequences of [1, 2, 3] are D. [1], [2], [3]. [1, 2], [2, 3], [1, 3], [1, 2, 3]
Example
k = 2.
numbers [1, 2, 3, 4]
The array can be partitioned with elements (1, 2) as the first subsequence, and elements [3, 4] as the next subsequence. Therefore return "Yes"
Example 2 k 3
numbers [1, 2, 2, 3]
There is no way to partition the array into subsequences such that all subsequences are of length 3 and each element in the array occurs in exactly one subsequence. Therefore return "No".
Function Description
Complete the function partitionArray in the editor below. The function has to return one string denoting the answer.
partitionArray has the following parameters:
int k an integer
int numbers[n]: an array of integers
Constraints
1 sns 105
1 s ks n
1 s numbers[] 105
class Result
*Complete the 'partitionArray' function below.
The function is expected to return a STRING
The function accepts following parameters:
1. INTEGER k
2. INTEGER ARRAY numbers
public static String partitionArray (int k, List
public class Solution