2089. Find Target Indices After Sorting Array
Description
You are given a 0-indexed integer array nums
and a target element target
.
A target index is an index i
such that nums[i] == target
.
Return a list of the target indices of nums
after sorting nums
in non-decreasing order. If there are no target indices, return an empty list. The returned list must be sorted in increasing order.
Example 1:
Input: nums = [1,2,5,2,3], target = 2 Output: [1,2] Explanation: After sorting, nums is [1,2,2,3,5]. The indices where nums[i] == 2 are 1 and 2.
Example 2:
Input: nums = [1,2,5,2,3], target = 3 Output: [3] Explanation: After sorting, nums is [1,2,2,3,5]. The index where nums[i] == 3 is 3.
Example 3:
Input: nums = [1,2,5,2,3], target = 5 Output: [4] Explanation: After sorting, nums is [1,2,2,3,5]. The index where nums[i] == 5 is 4.
Constraints:
1 <= nums.length <= 100
1 <= nums[i], target <= 100
Solutions
Solution: Counting
- Time complexity: O(n)
- Space complexity: O(1)
JavaScript
js
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
const targetIndices = function (nums, target) {
const result = [];
let start = (count = 0);
for (const num of nums) {
if (num > target) continue;
num === target ? (count += 1) : (start += 1);
}
for (let index = start; index < start + count; index++) {
result.push(index);
}
return result;
};