我想了两个方法。 第一个 是使用一个指针,因为是有序的,只需要从头移动到尾部,如果发现下一个元素与当前元素相等,则移动当前元素之后的元素,把相同的元素覆盖掉。 大致的步骤如下 第二个 是使用两个指针,一个快 j 一个慢 i ,如果i j 所指向的元素不相等,则i j 同时加一,如果相等,则将j向后移动直到两者所指向的元素不相等。 上一步就相当于确定了移动的步伐,下一步就是移动了。 大致步骤如下 方 ...
2019-01-11 17:06 0 1667 推荐指数:
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回 ...
题目1: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 示例 2: 说明 ...
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 ...
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 示例: GO: PHP: class Solution { /** * @param Integer[] $nums ...
题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 思路: 使用哈希表,第一次遍历记录元素出现的次数,第二次遍历查询只出现一次的元素。 程序: class ...
def singleNumber(nums): d={} l=[] for i in nums: if i in d: d[i]+=1 else: ...