lychee-rerank-mm详细步骤:上传JPG/PNG/WEBP多格式图片兼容性验证
2026/4/19 6:29:44
给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致,然后返回nums中唯一元素的个数。
nums的前k个元素应包含排序后的唯一数字,下标k-1之后的元素可忽略。nums = [1,1,2],输出长度2,且nums前两个元素为[1,2];nums = [0,0,1,1,1,2,2,3,3,4],输出长度5,且nums前五个元素为[0,1,2,3,4]。利用数组非严格递增的特性,采用双指针法(快慢指针)原地去重:
slow:指向去重后数组的最后一个有效元素;fast:遍历整个数组,寻找与慢指针指向元素不同的新元素;nums[fast] != nums[slow]时,慢指针后移,并将快指针指向的新元素赋值给慢指针位置,实现原地更新。双指针法是最优解法:
O(n)(仅遍历数组一次);O(1)(仅用常数级额外空间);