题目
给你一个下标从 0 开始的二维数组
variables
,其中variables[i] = [ai, bi, ci, mi]
,以及一个整数target
。如果满足以下公式,则下标
i
是 好下标:
0 <= i < variables.length
((aibi % 10)ci) % mi == target
返回一个由 好下标 组成的数组,顺序不限 。
解题思路
- 循环遍历根据题目获取所需要的每个值;
- 幂次方后再取余等于先取余再进行幂次方;
- 将最后结果与target进行对比获取合适的索引。
代码展示
class Solution { public List<Integer> getGoodIndices(int[][] variables, int target) { List<Integer> ans = new ArrayList<>(); int n = variables.length; for(int i = 0; i < n; i++){ int a = variables[i][0]; int b = variables[i][1]; int c = variables[i][2]; int m = variables[i][3]; a = a % 10; int val1 = 1; for (int j = 0; j < b; j++){ val1 = val1 * a % 10; } val1 = val1 % m; int val2 = 1; for (int j = 0; j < c; j++){ val2 = val2 * val1 % m; } if(val2 == target){ ans.add(i); } } return ans; } }