Problem

Max Element Indexes After Rotations

Learn this problem
Snowflake logoSnowflakeINTERNOA
See Snowflake hiring insights

Problem statement

You are given an array a of distinct positive integers and an array rotate. For each value in rotate, perform that many left circular rotations on the original array a, not on the result of any previous query.

Return an array where each element is the 0-based index of the maximum value in a after the corresponding number of left circular rotations.

Function

getMaxElementIndexes(a: int[], rotate: int[]) → int[]

Examples

Example 1

a = [1, 2, 3]rotate = [1, 2, 3, 4]return = [1,0,2,1]

After one left rotation, the array is [2,3,1], so the maximum value 3 is at index 1. The other rotation counts produce maximum indexes 0, 2, and 1.

Constraints

  • 1 <= a.length <= 105
  • 1 <= rotate.length <= 105
  • 0 <= rotate[i] <= 105
  • All values in a are distinct positive integers.

More Snowflake problems

drafts saved locally
public int[] getMaxElementIndexes(int[] a, int[] rotate) {
  // write your code here
}
a[1, 2, 3]
rotate[1, 2, 3, 4]
expected[1,0,2,1]
checking account