Mid/SeniorArrayHash Table

Assign Elements to Groups with Constraints

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 group i if groups[i] is divisible by elements[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
Inputgroups = [8,4,3,2,4], elements = [4,2]
Output[0,0,-1,1,0]
elements[0] = 4 is assigned to groups 0, 1, and 4, elements[1] = 2 is assigned to group 3, and group 2 cannot be assigned any element.
Example 2
Inputgroups = [2,3,5,7], elements = [5,3,3]
Output[-1,1,0,-1]
elements[1] = 3 is assigned to group 1, elements[0] = 5 is assigned to group 2, and groups 0 and 3 cannot be assigned any element.

Constraints

  • 1 <= groups.length <= 10^5
  • 1 <= elements.length <= 10^5
  • 1 <= groups[i] <= 10^5
  • 1 <= elements[i] <= 10^5

Asked at 1 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate