2089.找出数组排序后的目标下标:一次遍历不排序
【LetMeFly】2089.找出数组排序后的目标下标:一次遍历不排序
力扣题目链接:https://leetcode.cn/problems/find-target-indices-after-sorting-array/
给你一个下标从 0 开始的整数数组 nums 以及一个目标元素 target 。
目标下标 是一个满足 nums[i] == target 的下标 i 。
将 nums 按 非递减 顺序排序后,返回由 nums 中目标下标组成的列表。如果不存在目标下标,返回一个 空 列表。返回的列表必须按 递增 顺序排列。
示例 1:
输入:nums = [1,2,5,2,3], target = 2 输出:[1,2] 解释:排序后,nums 变为 [1,2,2,3,5] 。 满足 nums[i] == 2 的下标是 1 和 2 。
示例 2:
输入:nums = [1,2,5,2,3], target = 3 输出:[3] 解释:排序后,nums 变为 [1,2,2,3,5] 。 满足 nums[i] == 3 的下标是 3 。
示例 3:
输入:nums = [1,2,5,2,3], target = 5 输出:[4] 解释:排序后,nums 变为 [1,2,2,3,5] 。 满足 nums[i] == 5 的下标是 4 。
示例 4:
输入:nums = [1,2,5,2,3], target = 4 输出:[] 解释:nums 中不含值为 4 的元素。
提示:
1 <= nums.length <= 1001 <= nums[i], target <= 100
解题方法:遍历
遍历一次数组,得到:
- 小于$target$的元素个数$less$
- 等于$target$的元素个数$equal$
那么答案就是$[less, less + 1, \ldots, less + equal - 1]$这$equal$个下标。
- 时间复杂度$O(len(nums))$
- 空间复杂度$O(1)$
AC代码
C++
1 | |
End
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
千篇源码题解已开源
2089.找出数组排序后的目标下标:一次遍历不排序
https://blog.letmefly.xyz/2026/10/19/LeetCode 2089.找出数组排序后的目标下标/