思路
使用一个链表记录x出现的所有索引即可
解题过程
对于每一次查询,如果出现次数小于queries[i],则赋值为-1,否则将链表中索引为queries[i]-1的值赋值
Code
class Solution {
public int[] occurrencesOfElement(int[] nums, int[] queries, int x) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
if (nums[i] == x)
list.add(i);
}
int ans[] = new int[queries.length];
for (int i = 0; i < queries.length; i++) {
if (list.size() < queries[i]) {
ans[i] = -1;
} else {
ans[i] = list.get(queries[i] - 1);
}
}
return ans;
}
}
作者:菜卷
链接:https://leetcode.cn/problems/find-occurrences-of-an-element-in-an-array/solutions/3031708/cha-xun-shu-zu-zhong-yuan-su-de-chu-xian-tts1/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。