码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
[LeetCode] Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.因为都额外空间有限制所以不能把他先转成字符串然后用两个指针扫了。负数不算回文数是因为前面多了个负号么=_= 这样的话我只能想到一个办法,就是反转一个数字...
分类:其他好文   时间:2014-11-23 11:38:33    阅读次数:176
检测单链表是否有环
快慢指针:如果没有环,快指针一定先走完,两个指针不会相遇;如果有环,那么最多只有一个环,并且两个指针迟早都会进入环,假定环的长度为L,当慢指针进入环之后,快指针每次能向前追一步距离,最多只要L-1步就能追上慢指针所以可以用两个指针是否相遇来判断是否有环。
分类:其他好文   时间:2014-11-20 11:52:29    阅读次数:172
UVa 11849 - CD
题目:给你两个有序序列(每个序列中元素不同),求两序列中都出现的元素个数。 分析:简单题。合并排序合并过程。             设置两个指针,指向两序列当前元素,那个元素小指针向后移动,同样大则计数加一,同时后移。 说明:简单题。(⊙_⊙) #include #include #include #include #include #include using names...
分类:其他好文   时间:2014-11-19 11:01:24    阅读次数:188
检测链表是否有环,并且找到环的入口
第一步:检测链表是否有环。方法还是比较多的,这里先讲一个:快慢指针。快慢指针的方法,就是让两个指针同时指向链表。在向后遍历的时候,一个指针每次走两步,称为快指针;一个指针每次走一步,称为慢指针。如果快慢指针相遇,则说明链表有环,否则无环。(后面证明。)代码实现如下:// 如果有环,则返回快慢指针相遇...
分类:其他好文   时间:2014-11-15 17:04:23    阅读次数:169
调整数组顺序使奇数位于偶数前面 【微软面试100题 第五十四题】
题目要求: 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 要求时间复杂度为O(n). 参考资料:剑指offer第14题。题目分析: 使用两个指针,pBegin和pEnd,pBegin从开头往后遍历,pEnd从结尾往前遍历,当pBegin...
分类:编程语言   时间:2014-11-11 20:44:43    阅读次数:143
Linked List Cycle(11)
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using extra space?怎样判断一个链表之中是否有环?可以利用快慢指针的方法。定义两个指针fast和slo...
分类:其他好文   时间:2014-11-10 23:15:29    阅读次数:289
【数据结构】队列-数组的实现
首先定义队列的基本结构,队列和栈不同之处在于队列需要两个指针,一个指向头,一个指向尾 String[] queue; int front = 0; int rear = 0; 构造方法 public QueueOfStrings(int capacity) { queue = new String[capacity]; } 进队列 public void enqueu...
分类:编程语言   时间:2014-11-06 02:05:20    阅读次数:260
模式匹配的KMP 算法
常见的字符串匹配时,模式串长度为n,源串长度为m,则从头匹配,两个指针i指向源串,j指向模式串,如遇到不同则回溯使j=0,这样就要反复匹配会使效率变低。因为在如今i之前 的模式串与匹配串的匹配是同样的,即回溯时,不用将模式串与源串进行匹配,而仅仅将模式串与自身匹配就可以得到其是否须要回溯以及回溯到何...
分类:编程语言   时间:2014-11-04 22:31:39    阅读次数:246
第十章 基本数据结构——链表
链表 链表与数组的区别是链表中的元素顺序是有各对象中的指针决定的,相邻元素之间在物理内存上不一定相邻。采用链表可以灵活地表示动态集合。链表有单链表和双链表及循环链表。书中着重介绍了双链表的概念及操作,双链表L的每一个元素是一个对象,每个对象包含一个关键字和两个指针:next和prev。链表的操作包....
分类:其他好文   时间:2014-11-03 23:49:45    阅读次数:256
HDU 4286 Data Handler --双端队列
题意:有一串数字,两个指针,然后一些添加,删除,反转,以及移动操作,最后输出序列。解法:可以splay做,但是其实双端队列更简便。维护三个双端队列LE,MI,RI分别表示[L,R]序列左边,[L,R]这段区间的值和[L,R]右边的值。然后维护一个revd标记表示[L,R]内的数是否被翻转了,翻转了的...
分类:其他好文   时间:2014-11-02 22:18:31    阅读次数:234
1059条   上一页 1 ... 92 93 94 95 96 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!