本题最大的困难是如何在不新建新的数组下完成空格替换,主要考察数组指针的运用思路:(1)找出字符串空格的长度,从而确定新的子串尾指针的位置所在; (2)通过遍历找出空格,string[indexOfNew--]依次附上%20三个字符,indexOfOriginal--注:并没有通过实际指针而是通过字符...
分类:
其他好文 时间:
2015-04-05 20:23:50
阅读次数:
118
将一个排好序的数组中重复的数字删除 思路:维护头和尾指针,头指针始终指向最后一个不重复的数字,尾指针不断向数组尾部探索找到不重复的值之后将其拷贝到头指针 class Solution {public: int removeDuplicates(int A[], int n) { if (n <= 1...
分类:
其他好文 时间:
2015-04-01 11:12:38
阅读次数:
143
区别
sort是qsort的升级版,如果能用sort尽量用sort,使用也比较简单,不像qsort还得自己去写 cmp 函数,
只要注明 使用的库函数就可以使用,参数只有两个(如果是普通用法)头指针和尾指针;
默认sort排序后是升序,如果想让他降序排列,可以使用自己编的cmp函数
bool compare(int a,int b)
{
return a>b; //降序排列,如...
分类:
其他好文 时间:
2015-03-31 16:10:56
阅读次数:
196
package kpp.sort;/** * 快速排序 * 一般选取首元素为枢轴元素,保存至pivot,确定头尾指针left,right, * 先对整个数组元素进行排序,此时枢轴元素两侧元素有序,再分别对枢轴元素两侧的两个数组执行排序 * 排序规则 * 1.right指针从右向左遍历,如果比当前枢轴...
分类:
编程语言 时间:
2015-03-30 22:30:05
阅读次数:
203
题目:http://www.tsinsen.com/A1486题解: 其实看到和路径有关的就应该想到点分治。 我们找出重心之后遍历每一棵子树得到它的 { x=经过特殊点的个数,y=到rt的异或和} 然后我们按x排序,维护两个头尾指针不断把满足条件的加入trie,然后把左边的放进tr...
分类:
其他好文 时间:
2015-03-19 23:31:29
阅读次数:
249
主要是,感觉原来的链表例程通过Node的分配形成了链表,但是没有自动消除Node的办法比较危险,一旦在clear()之前把链表赋了其它值就内存泄漏了。所以改了析构函数,自动清理分配出来的内存。既然改了析构同时就要改拷贝合成与拷贝赋值。然后还给链表加了个尾指针,否则每次插入都要O(N)的时间真的很蛋疼...
分类:
其他好文 时间:
2015-03-17 20:11:10
阅读次数:
135
问题:一个字符串S(暂时只考虑小写字母),选择S中包含26种英文字母的最短子串,如果不包含则返回空字符
分析:双指针,动态维护一个区间。尾指针不断往后扫,当扫到有一个窗口包含了所有26种英文字母的字符串后,再收缩头指针,直到不能再收缩为止。最后记录所有可能的情况中窗口最小的。
代码示例:
#include
#include
#include
using namespace std;
c...
分类:
其他好文 时间:
2015-03-16 11:06:33
阅读次数:
105
队列可以使用数组或者链表实现,这里介绍一种使用数组实现的循环队列。
所谓循环队列,是指当尾指针超过数组索引界限时,通过取余运算返回数组起始端,只要保证尾指针和头指针不相遇,就可以继续存储元素。
首先设定队列的大小,并建立队列结构体:
#define MAXSIZE 100001
typedef struct {
int items[MAXSIZE];
int front;
int r...
分类:
其他好文 时间:
2015-03-05 23:46:36
阅读次数:
280
双向链表 只是 比 单链表 多了 一个 指向 前驱的 指针,在插入 和 删除 元素的 时候 得多处理一些。其余 没什么 区别。
而循环链表 的 尾指针 不再 指向 NULL,而是 指向 头指针,这样 既可以循环遍历,又节省 存储空间 。
每种链表 都有 好处,至于 如何 取舍,得看需求。
下面 奉上 双向链表的实现代码:
// DoubleLinkList.cpp : 定义控制台应...
分类:
其他好文 时间:
2015-02-15 16:40:14
阅读次数:
166
链队列的实现方法: 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,简称为链队列。为了操作上的方便,我们将队头指针指向链队列的头节点,而队尾指针指向终端节点。空队列时,front和rear都指向头节点。 注意:这里的实现是有头结点的,在队列的初始化函数中要为头结点开辟空间。 链...
分类:
其他好文 时间:
2015-02-10 18:14:28
阅读次数:
240