请问为什么我考虑了元素为 1 的样例,通过率还是 96.88% 呢? ```java // ans: 1 0 0 0 3 3 0 0 0 1 private static void backtrack(long[] ans, int[] arr, int n, int idx) { if (n == 1) { // 只有一个元素 ans[arr[0]] = 1; return; } if (idx >= n - 2) { // 回溯结束 int a = arr[n - 2]; int b = arr[n - 1]; // 加法:arr[n - 1] + arr[n - 2] // 乘法:arr[n - 1] + arr[n - 2] ans[(a + b) % 10]++; ans[(a * b) % 10]++; return; } int cur = arr[idx]; // 当前数字 backtrack(ans, arr, n, idx + 1); long[] curAns = new long[10]; for (int i = 0; i < 10; i++) { curAns[(cur + i) % 10] += ans[i]; curAns[(cur * i) % 10] += ans[i]; } for (int i = 0; i < 10; i++) { ans[i] = (curAns[i]) % MOD; } } ```
点赞 2
牛客网
牛客企业服务