3447. Assign Elements to Groups with Constraints
3447. Assign Elements to Groups with Constraints
Description
You are given an integer array groups
, where groups[i]
represents the size of the i^th
group. You are also given an integer array elements
.
Your task is to assign one element to each group based on the following rules:
- An element at index
j
can be assigned to a groupi
ifgroups[i]
is divisible byelements[j]
. - If there are multiple elements that can be assigned, assign the element with the smallest index
j
. - If no element satisfies the condition for a group, assign -1 to that group.
Return an integer array assigned
, where assigned[i]
is the index of the element chosen for group i
, or -1 if no suitable element exists.
Note : An element may be assigned to more than one group.
Example 1:
1 | Input: groups = [8,4,3,2,4], elements = [4,2] |
Explanation:
elements[0] = 4
is assigned to groups 0, 1, and 4.elements[1] = 2
is assigned to group 3.- Group 2 cannot be assigned any element.
Example 2:
1 | Input: groups = [2,3,5,7], elements = [5,3,3] |
Explanation:
elements[1] = 3
is assigned to group 1.elements[0] = 5
is assigned to group 2.- Groups 0 and 3 cannot be assigned any element.
Example 3:
1 | Input: groups = [10,21,30,41], elements = [2,1] |
Explanation:
elements[0] = 2
is assigned to the groups with even values, and elements[1] = 1
is assigned to the groups with odd values.
Constraints:
1 <= groups.length <= 10^5
1 <= elements.length <= 10^5
1 <= groups[i] <= 10^5
1 <= elements[i] <= 10^5
Hints/Notes
- 2025/02/24 Q1
- Harmonic series
- 0x3Fâs solution(checked)
- Weekly Contest 436
Solution
Language: C++
1 | class Solution { |