Leetcode 3524. Find X Value of Array I
- Leetcode 3524. Find X Value of Array I
- 1. 解题思路
- 2. 代码实现
- 题目链接:3524. Find X Value of Array I
1. 解题思路
这一题没有自力搞定,是看了大佬的代码才搞明白的。其实还是一个有序数列的问题。
我们依次从头往后考察每一个位置作为结束位置时其之前各个x值下有多少种答案。此时,我们就需要维护一个0到 k − 1 k-1 k−1的数组,其每一位上的元素代表了对应元素的数组下的子序列的数目。
2. 代码实现
给出python代码实现如下:
class Solution:def resultArray(self, nums: List[int], k: int) -> List[int]:ans = [0 for _ in range(k)]prev = [0 for _ in range(k)]for x in nums:r = x % kcur = [0 for _ in range(k)]for t in range(k):cur[(t*r) % k] += prev[t]cur[r] += 1for t in range(k):ans[t] += cur[t]prev[t] = cur[t]return ans
提交代码评测得到:耗时554ms,占用内存31.9MB。