查询数组中元素的出现位置

tobegold574 Lv5

查询数组中元素的出现位置(medium)

做题过程

easy

算法概述

原题

本题要求为给定一个数据数组和一个查询数组,以及一个查询值,根据查询数组返回数据数组中的不同序号的下标。

  • 时间复杂度为O(n+q)
  • 空间复杂度为O(n):最坏

JAVA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public int[] occurrencesOfElement(int[] nums, int[] queries, int x) {
List<Integer> l=new ArrayList<>();
int[] ans=new int[queries.length];
for(int i=0;i!=nums.length;++i){
if(nums[i]==x) l.add(i);
}
for(int i=0;i!=queries.length;++i){
if(queries[i]<=l.size()) ans[i]=l.get(queries[i]-1);
else ans[i]=-1;
}

return ans;
}
}

总结

水题。

  • Title: 查询数组中元素的出现位置
  • Author: tobegold574
  • Created at : 2024-12-27 08:22:29
  • Updated at : 2024-12-27 08:25:08
  • Link: https://tobegold574.me/2024/12/27/查询数组中元素的出现位置/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
查询数组中元素的出现位置