给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间。即常数空间限制。 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例输入 5 0 0 1 1 2 ...
分类:
编程语言 时间:
2016-07-15 00:03:38
阅读次数:
202
题目大概说给一个由a和b组成的字符串,最多能改变其中的k个字符,问通过改变能得到的最长连续且相同的字符串是多长。 用尺取法,改变成a和改变成b分别做一次:双指针i和j,j不停++,然后如果遇到需要改变且改变次数用完就让i++更正改变次数,最后更新答案。时间复杂度O(n)。 另外,注意到k=0的情况。 ...
分类:
其他好文 时间:
2016-07-13 15:42:49
阅读次数:
104
1.$B>0$ 二分答案,然后扫描线,线段树维护某个点作为左下角时的费用的最小值,支持区间加。 时间复杂度$O(n\log^2n)$。 2.$B=0$ 枚举左边界,则最优右边界可以通过双指针求出。 用线段树维护左右边界之间最长的竖着的空的连续段的长度。 找到最大的连续段长度$\geq$左右边界距离的 ...
分类:
其他好文 时间:
2016-07-07 00:48:30
阅读次数:
345
可以用双指针(尺取法),也可以枚举起点,二分终点。 ...
分类:
其他好文 时间:
2016-07-03 00:19:43
阅读次数:
118
双指针,找到重合点,然后新一个指针从头出发,两个指针交汇的地方就是圈的起点 ...
分类:
其他好文 时间:
2016-06-21 09:11:36
阅读次数:
112
题目链接:http://www.lintcode.com/zh-cn/problem/two-sum/ 给一个整数数组,找到两个数使得他们的和等于一个给定的数target。 备份一份,然后排序。搞两个指针分别从左从右开始扫描,每次判断这两个数相加是不是符合题意,如果小了,那就把左边的指针向右移,同理 ...
分类:
编程语言 时间:
2016-06-18 23:45:42
阅读次数:
770
[LeetCode] #1# Two Sum : 数组/哈希表/二分查找/双指针 ...
分类:
编程语言 时间:
2016-06-08 20:25:03
阅读次数:
453
【题目】一个链表中包含环,请找出该链表的环的入口结点。 【思路】方法一:使用双指针 ...
分类:
其他好文 时间:
2016-06-07 14:53:36
阅读次数:
281