酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。 返回 k

以下是使用 Python 实现的函数来解决此问题: ```python def remove_duplicates(nums): i = 0 for j in range(1, len(nums)): if nums[j]!= nums[i]: i += 1 nums[i] = nums[j] return i + 1 ``` 这个函数使用两个指针 `i` 和 `j`,`j` 遍历整个数组,当遇到与 `nums[i]` 不同的元素时,将其赋值给 `nums[i + 1]`,并更新 `i`。最后返回 `i + 1` 即为唯一元素的个数。 [2024-10-08 23:07:36 | AI写代码神器 | 149点数解答]

相关提问