题意:每个雪花都有六个分支,用六个整数代表,这六个整数是从任意一个分支开始,朝顺时针或逆时针方向遍历得到的。输入多个雪花,判断是否有形状一致的雪花存在。简单的数字哈希,要注意的是每种雪花可以由多种数字组合表示。比如输入的是1 2 3 4 5 6,则2 3 4 5 6 1,3 4 5 6 1 2,……...
分类:
其他好文 时间:
2015-05-09 23:27:36
阅读次数:
181
用指定的字符或字符串替换某个字符串中出现的所有空格,当用字符替换字符是,自然是很简单的,但是当使用字符串替换字符时,如果还是从前往后遍历,遇到指定字符就将其后所有字符往后移出足够空间的话,当字符串中的空格很多时,反复的移动字符会带来性能上的损失。但是如果是从后往前遍历呢?可以先遍历一次原字符串,得到字符串中空格的个数,然后就可以计算出实际需要的空间,再假设原字符串所在缓冲区有足够空间(否则新建一个缓...
分类:
其他好文 时间:
2015-03-28 08:49:04
阅读次数:
106
上一篇方法一,在一些特殊输入下时间复杂度会退化为n平方,比如:a = [5,5,5,5,5,5,5]全部一样的情况下方法二采用从左右两个方向遍历列表:1.从左向右找到大于参考值t的元素,2.从右向左找到小于参考值t的元素,3.然后交换两个元素具体实现如下代码所示:需要注意的是在一次排序过程中,m必须...
分类:
编程语言 时间:
2015-03-06 14:09:12
阅读次数:
151
单向链表(单链表)
单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向表中的下一个节点,而最后一个节点则 指向一个空值NULL。
单向链表只可向一个方向遍历。查找一个节点的时候需要从第一个节点开始每次访问下一个节点,一直访问到需要的位置。也可以提前把一个节点的位置另外保存起来,然后直接访问。
双向链表,(双链表)
双向链表中不...
分类:
其他好文 时间:
2014-12-29 09:05:23
阅读次数:
181
图的遍历是指从图中的某一顶点出发,按照一定的策略访问图中的每一个顶点。当然,每个顶点有且只能被访问一次。
在图的遍历中,深度优先和广度优先是最常使用的两种遍历方式。这两种遍历方式对无向图和有向图都是适用的,并且都是从指定的顶点开始遍历的。先看下两种遍历方式的遍历规则:
深度优先
深度优先遍历也叫深度优先搜索(Depth First Search)。它的遍历规则:不断地沿着顶点的深度方向遍历。顶点的深度方向是指它的邻接点方向。...
分类:
其他好文 时间:
2014-08-02 12:53:33
阅读次数:
266
这道题实质是用螺旋线的形式遍历二维数组,而且这种遍历方式有很强的规律性,从最外层开始一直到最里层,而且每层都按顺时针的方向遍历。根据这种规律性,我们可以用两层循环,在遍历的同时对二维数组对应元素重新赋值,第一层循环是层数遍历,第二层循环是每一层元素遍历(值得注意的一点是顺时针遍历)。class So...
分类:
其他好文 时间:
2014-08-01 18:54:02
阅读次数:
217
第十二章 使用结构和指针
这章就是链表。先单链表,后双向链表。
总结:
单链表是一种使用指针来存储值的数据结构。链表中的每个节点包含一个字段,用于指向链表的下一个节点。
有一个独立的根指针指向链表的第1个节点。单链表只能从一个方向遍历。
如何insert单链表:1、新节点的link字段必须设置为指向它的后面节点。2、前一个节点的link字段必须指向这个新节点。
为了...
分类:
其他好文 时间:
2014-07-23 22:39:57
阅读次数:
395
双向(循环)链表是线性表的链式存储结构的又一种形式。
在之前已经讲述了单向链表和循环链表。相比于单向链表只能从头结点出发遍历整个链表的局限性,循环链表使得可以从任意一个结点遍历整个链表。
但是,不管单向链表也好,循环链表也罢,都只能从一个方向遍历链表,即只能查找结点的下一个结点(后继结点),而不能查找结点的上一个结点(前驱结点)。鉴于上述问题,引入了双向链表。由于双向循环链表包含双向链表的所有...
分类:
其他好文 时间:
2014-05-18 18:43:19
阅读次数:
341