给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前 ...
分类:
其他好文 时间:
2020-02-18 14:42:05
阅读次数:
70
题目描述 :给定一个整数数组 a,其中 (n 为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到 所有 出现两次的元素。 你可以不用到任何额外空间并在 O(n)时间复杂度内解决这个问题吗? 题目分析 这里的不使用任何额外空间,指的是不为哈希表开辟额外空间。最后要返回的元素,还是要放在数组 ...
分类:
编程语言 时间:
2020-02-16 01:49:30
阅读次数:
90
题目描述 :给定一个范围在 (?n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在 不使用额外空间 且时间复杂度为 O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 题目分析 ...
分类:
编程语言 时间:
2020-02-16 01:33:30
阅读次数:
73
package main import "fmt" //只出现一次的数字 //1.for循环每一个数字,和整个切片相比较 //2.如果都不相等,就添加到一个新的切片中 // 4, 1, 2, 1, 2 func singleNumber(splice []int) []int { var s []i ...
分类:
其他好文 时间:
2020-02-16 01:17:10
阅读次数:
95
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前 ...
分类:
编程语言 时间:
2020-02-15 15:16:31
阅读次数:
74
问题描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 n ...
分类:
编程语言 时间:
2020-02-12 20:24:36
阅读次数:
76
思路分析: 可以使用hashmap保存数字及其出现的次数,当大于一时返回true;也可以建一个长度为n的boolean数组,判断是否有重复值。 这道题和“第一个只出现一次的字符”很相似。 题目描述 在一个长度为n的数组里的所有数字都在0到n 1的范围内。 数组中某些数字是重复的,但不知道有几个数字是 ...
分类:
编程语言 时间:
2020-02-11 19:08:13
阅读次数:
64
一道力扣题目 只出现一次的数字: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2 ...
分类:
其他好文 时间:
2020-02-11 11:51:12
阅读次数:
159
这种题目给一个数组,里面有一个数字只出现过一次,其他数字都出现过k次,求这个只出现过一次的数字。 参考leetcode评论区的思路,这种题目对于任意k都有一个通用解法,这个解法分别考察二进制位的每一位,求出每一位是1还是0,最终得到答案。 比如求答案的最后一位,那么统计数组所有数字的最后一位是等于1 ...
分类:
其他好文 时间:
2020-02-10 10:04:42
阅读次数:
77
题目 : 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 解析 首先:位运算中异或的性质:两个相同数字异或=0,一个数和0异或还是它本身。异或运算满足交换律结合律. 当只有一个数出现一次时,我们把数组中所有的数,依次异或运算,最后剩下的就是落单的数,因为 ...
分类:
编程语言 时间:
2020-02-05 23:43:16
阅读次数:
98