class Solution {
public:
vector<int> targetIndices(vector<int>& nums, int target) {
}
};
2089. 找出数组排序后的目标下标
给你一个下标从 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 <= 100
1 <= nums[i], target <= 100
原站题解
python3 解法, 执行用时: 36 ms, 内存消耗: 14.9 MB, 提交时间: 2022-05-28 22:46:08
class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: c1, c2 = 0, 0 for num in nums: if num < target: c1 += 1 elif num == target: c2 += 1 return list(range(c1, c1+c2))
python3 解法, 执行用时: 44 ms, 内存消耗: 15 MB, 提交时间: 2022-05-28 22:43:53
class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: res = [] nums.sort() for i, num in enumerate(nums): if num < target: continue elif num == target: res.append(i) else: break return res