删除排序数组中的重复项 给定一个排序数组,你需要在原地算法删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 (原地算法)修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 示例 2: ~~~Python class Solutio ...
分类:
编程语言 时间:
2020-03-18 13:55:05
阅读次数:
57
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入: [4,3,2,7,8,2,3,1] 输出: [2,3] 由于数组元素具有1 ≤ a[ ...
分类:
编程语言 时间:
2020-03-17 23:58:05
阅读次数:
113
题目链接:删除排序链表中的重复元素 题意:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 题解:这个的上一题是也是删除排序链表的重复元素,不过元素都删掉。。在剑指offer里也有做过。可以看链接。 这个就是在上个题的基础上做一点修改。最后更新节点时,直接指向这个重复节点的最后一个节点 ...
分类:
编程语言 时间:
2020-03-17 23:54:09
阅读次数:
100
26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回 ...
分类:
编程语言 时间:
2020-03-17 08:25:53
阅读次数:
49
很多算法题中使用位运算能够巧妙的解决很多问题,比如: 找出只出现一次的数 如果数组中只有一个数字出现一次,其他数字都出现两次。试找出这个数据 通常的情况,我们会采用遍历的思路。但是其实不用。因为异或运算有个十分重要的性质:任何一个数字异或它自己都等于0,而0异或任何数都等于那个数。 因此,但凡出现两 ...
分类:
其他好文 时间:
2020-03-14 20:07:22
阅读次数:
51
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 示例 1: 输入: [2,2,1] 输出: 1 异或运算 int singleNumber(int* nums, int numsSize){ int i, num = 0; for(i = 0; ...
分类:
编程语言 时间:
2020-03-14 16:44:39
阅读次数:
64
题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例?1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 ...
分类:
编程语言 时间:
2020-03-12 23:24:24
阅读次数:
58
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 题解一:Ha ...
分类:
其他好文 时间:
2020-03-12 22:01:00
阅读次数:
72
简述: map是stl的一种关联式容器,提供一对一的数据存储结构,第一个成为关键字,第二个为该关键字的值,在map中关键字只能出现一次。map的内部为一棵红黑树,具有自动排序功能,map会根据key值的大小进行非降序排序,当key值类型为string时为字典序。在map中查找插入删除的时间复杂度都是 ...
分类:
其他好文 时间:
2020-03-12 14:16:28
阅读次数:
79
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例 2: 输入:nums = [1,2,10,4,1,4,3, ...
分类:
编程语言 时间:
2020-03-11 23:34:53
阅读次数:
67