哪一個(gè)景區(qū)網(wǎng)站做的最成熟/營(yíng)銷的手段和方法
題目描述:
給你一個(gè)整數(shù)數(shù)組?nums
?,一個(gè)整數(shù)數(shù)組?queries
?和一個(gè)整數(shù)?x
?。
對(duì)于每個(gè)查詢?queries[i]
?,你需要找到?nums
?中第?queries[i]
?個(gè)?x
?的位置,并返回它的下標(biāo)。如果數(shù)組中?x
?的出現(xiàn)次數(shù)少于?queries[i]
?,該查詢的答案為 -1 。
請(qǐng)你返回一個(gè)整數(shù)數(shù)組?answer
?,包含所有查詢的答案。
示例 1:
輸入:nums = [1,3,1,7], queries = [1,3,2,4], x = 1
輸出:[0,-1,2,-1]
解釋:
- 第 1 個(gè)查詢,第一個(gè) 1 出現(xiàn)在下標(biāo) 0 處。
- 第 2 個(gè)查詢,
nums
?中只有兩個(gè) 1 ,所以答案為 -1 。 - 第 3 個(gè)查詢,第二個(gè) 1 出現(xiàn)在下標(biāo) 2 處。
- 第 4 個(gè)查詢,
nums
?中只有兩個(gè) 1 ,所以答案為 -1 。
示例 2:
輸入:nums = [1,2,3], queries = [10], x = 5
輸出:[-1]
解釋:
- 第 1 個(gè)查詢,
nums
?中沒(méi)有 5 ,所以答案為 -1 。
題解:
class Solution {public int[] occurrencesOfElement(int[] nums, int[] queries, int x) {int n = nums.length, m = queries.length;int cnt = 0;for (int i = 0; i < n; i++) {if (nums[i] == x) {nums[cnt++] = i;}}int ans[] = new int[m];for (int i = 0; i < m; i++) {if (queries[i] > cnt) {ans[i] = -1;} else {ans[i] = nums[queries[i] - 1];}}return ans;}
}