给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 数组完成排序后,我们可以放置两个指针 ii 和 jj,其中 ii 是慢指针,而 jj 是快指针。只要 num ...
分类:
编程语言 时间:
2018-12-12 00:13:51
阅读次数:
179
抽象工厂模式 抽象工厂模式提供一个创建一系列相关或互相依赖的接口,而无需再指定他们具体的类。 最大的好处是易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这使得改变一个应用的具体工厂变得非常容易,他只需要改变具体工厂即可使用不同的产品配置。 他让具体的创建实例过程与客户端分 ...
分类:
其他好文 时间:
2018-12-05 12:20:42
阅读次数:
223
1 ''' 2 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 3 示例 1: 输入: 1->1->2 输出: 1->2 4 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 5 ''' 6 # 关键点:排序链表 7 8 9 class ListNode: 10... ...
分类:
编程语言 时间:
2018-12-03 20:12:58
阅读次数:
225
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 示例 2: 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以“引用”方 ...
分类:
编程语言 时间:
2018-12-02 20:37:55
阅读次数:
152
一、题目 1、审题 2、分析 一个长度为 n+1 的整形数组,元素值为 1~ n 之间。其中一个元素重复了多次,其他元素只出现一次。求出多次出现的那个元素。 二、解答 1、思路 类似: 142. Linked List Cycle II //这道题的关键在于0处是没有索引指向的,将数组视为静态链表, ...
分类:
其他好文 时间:
2018-11-23 22:54:07
阅读次数:
170
一、题目 1、审题 2、分析 求出一个数组中连续的元素中缺失的那一个。 二、解答 1、思路 方法一、 将数组中的元素与下标进行对应。最终与下标不一致的元素即为缺失德那一个。 方法二、 采用异或 ^ 运算符。将下标与元素值一起做 ^ 操作。出现了两次的元素最终会被消去,只剩下要求的出现一次的元素。 方 ...
分类:
其他好文 时间:
2018-11-22 14:25:23
阅读次数:
188
Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runti ...
分类:
其他好文 时间:
2018-11-21 15:56:37
阅读次数:
154
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 首先理解题意: 那我们就可以用快慢指针的思想来解答这道题了 ...
分类:
编程语言 时间:
2018-11-20 23:03:22
阅读次数:
262
题目:**给定一个整数数组a,其中1≤a[i]≤n(n为数组长度),其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]**看题目条件给的数据大小我就想用计数排序,但是怎么不申请额外空间呢?其实完全可以利用每个元素的高位数据保存信息.但是要确定要保存的信息的范围
分类:
其他好文 时间:
2018-11-16 21:01:30
阅读次数:
216
(1)设置10个元素的状态数组p,记录数字0~9在6位数和3位数中出现的情况。数组元素都赋值1,表示数字0~9没有被使用过。 (2)对尝试的每一个数3位数x,6位数=x*x,并取其各个位数字,数字作为数组的下标,若对应元素为1,则该数字第一次出现, 将对应的元素赋值为0,表示该数字已经出现一次。否则 ...
分类:
编程语言 时间:
2018-11-15 19:37:00
阅读次数:
207