import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算出旺仔哥哥最后会站在哪位小朋友旁边
* @param a int整型一维数组 第 i 个小朋友的数字是 a_i
* @param m int整型 表示旺仔哥哥的移动次数
* @return int整型
*/
public int stopAtWho (int[] a, int m) {
// write code here
// 1 2 3 4 5 n
// 0 1 2 3 4 ... n-1
// a[0-2+6] a[0-2+6]
if(a.length == 1){
return 1;
}
// 数组中每个元素对数组长度取模,限制范围
for(int i = 0;i<a.length;i++){
a[i] %= a.length;
}
// 被除数 ÷ 除数 = 商 ... 余数
// a ÷ b = q ... r
// 其中:a % b = r
int pos = 0-a[0]+a.length;
for(int i = 1;i<m;i++){
pos = pos-a[pos] < 0 ? pos-a[pos]+a.length : pos-a[pos];
}
// 取到的pos是下标,返回需要再+1
return pos+1;
}
}