Welcome to Subscribe On Youtube
Formatted question description: https://leetcode.ca/all/2089.html
2089. Find Target Indices After Sorting Array (Easy)
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.
Example 4:
Input: nums = [1,2,5,2,3], target = 4 Output: [] Explanation: There are no elements in nums with value 4.
Constraints:
1 <= nums.length <= 100
1 <= nums[i], target <= 100
Similar Questions:
Solution 1. Sorting
-
// OJ: https://leetcode.com/problems/find-target-indices-after-sorting-array/ // Time: O(NlogN) // Space: O(1) extra space class Solution { public: vector<int> targetIndices(vector<int>& A, int target) { sort(begin(A), end(A)); vector<int> ans; for (int i = 0; i < A.size(); ++i) { if (A[i] == target) ans.push_back(i); } return ans; } };
-
class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: nums.sort() return [i for i, v in enumerate(nums) if v == target] ############ # 2089. Find Target Indices After Sorting Array # https://leetcode.com/problems/find-target-indices-after-sorting-array/ class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: nums.sort() res = [] for i, x in enumerate(nums): if x == target: res.append(i) return res
-
class Solution { public List<Integer> targetIndices(int[] nums, int target) { Arrays.sort(nums); List<Integer> ans = new ArrayList<>(); for (int i = 0; i < nums.length; ++i) { if (nums[i] == target) { ans.add(i); } } return ans; } }
-
func targetIndices(nums []int, target int) (ans []int) { sort.Ints(nums) for i, v := range nums { if v == target { ans = append(ans, i) } } return }
-
function targetIndices(nums: number[], target: number): number[] { nums.sort((a, b) => a - b); let ans: number[] = []; for (let i = 0; i < nums.length; ++i) { if (nums[i] == target) { ans.push(i); } } return ans; }
Solution 2. Counting Sort
-
// OJ: https://leetcode.com/problems/find-target-indices-after-sorting-array/ // Time: O(N) // Space: O(1) class Solution { public: vector<int> targetIndices(vector<int>& A, int target) { int cnt = 0, rank = 0; // `cnt` is the frequency of `target`, `rank` is the sum of frequencies of all numbers < target for (int n : A) { cnt += n == target; rank += n < target; } vector<int> ans; while (cnt--) ans.push_back(rank++); return ans; } };
-
class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: nums.sort() return [i for i, v in enumerate(nums) if v == target] ############ # 2089. Find Target Indices After Sorting Array # https://leetcode.com/problems/find-target-indices-after-sorting-array/ class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: nums.sort() res = [] for i, x in enumerate(nums): if x == target: res.append(i) return res
-
class Solution { public List<Integer> targetIndices(int[] nums, int target) { Arrays.sort(nums); List<Integer> ans = new ArrayList<>(); for (int i = 0; i < nums.length; ++i) { if (nums[i] == target) { ans.add(i); } } return ans; } }
-
func targetIndices(nums []int, target int) (ans []int) { sort.Ints(nums) for i, v := range nums { if v == target { ans = append(ans, i) } } return }
-
function targetIndices(nums: number[], target: number): number[] { nums.sort((a, b) => a - b); let ans: number[] = []; for (let i = 0; i < nums.length; ++i) { if (nums[i] == target) { ans.push(i); } } return ans; }
Discuss
https://leetcode.com/problems/find-target-indices-after-sorting-array/discuss/1599800/C%2B%2B-O(N)-Time-Counting-Sort