【题目】Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?【题意】 推断一个单向链表是否有环【思路】 维护两个指针p1和p2,p1.....
分类:
其他好文 时间:
2014-09-28 21:16:55
阅读次数:
195
题目链接:hdu 5037 Frog
题目大意:给定N,M,L,表示有一只条宽为M的河,青蛙要从0跳到M,青蛙的最大跳跃能力为L,现在已经存在了N块石头,现在要放任意数量的石头,使得说青蛙需要用最多的步数跳到M。
解题思路:维护两个指针,pos表示青蛙当前的位置,mv表示青蛙在前一个位置能跳到的最远位置。然后周期L+1的长度可以让青蛙需要跳两次。但注意每一段长度的最后一个周期需要特判,...
分类:
其他好文 时间:
2014-09-22 16:17:42
阅读次数:
264
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少?解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出...
分类:
其他好文 时间:
2014-09-22 01:38:21
阅读次数:
369
两个升序列的相同元素 代码(C)本文地址: http://blog.csdn.net/caroline_wendy两个升序列的相同元素, 需要使用两个指针, 依次遍历, 如果相等输出, 如果小于或大于, 则增加一个指针.直到输出所有的值.代码:/*
* main.cpp
*
* Created on: 2014.9.19
* Author: spike
*/
#includ...
分类:
其他好文 时间:
2014-09-19 17:39:55
阅读次数:
211
有序双循环链表的插入 代码(C)本文地址: http://blog.csdn.net/caroline_wendy有序双循环链表的插入, 需要找到插入位置, 可以采用, 两个指针, 一个在前, 一个在后.保证前面的小于等于插入值, 后面的大于等于插入值.特殊情况, 首尾插入(大于或小于整个链表)或单节点, 判断条件为后指针指向首节点. 则需要直接插入.插入链表头, 需要调整链表头节点.代码22行....
分类:
其他好文 时间:
2014-09-18 22:19:14
阅读次数:
217
实现一个算法,找出单向链表中倒数第k个结点。分析:使用相差k个位置的两个指针,以相同的速度遍历链表,当快指针为空时,慢指针刚好指向链表的倒数第k个结点。时间复杂度O(n),空间复杂度O(1)。 1 #include 2 #include 3 #include 4 5 using namesp...
分类:
其他好文 时间:
2014-09-18 22:09:04
阅读次数:
260
常见的字符串匹配时,模式串长度为n,源串长度为m,则从头匹配,两个指针i指向源串,j指向模式串,如遇到不同则回溯使j=0,这样就要重复匹配会使效率变低。
由于在现在i之前 的模式串与匹配串的匹配是相同的,即回溯时,不用将模式串与源串进行匹配,而只将模式串与自身匹配即可得到其是否需要回溯以及回溯到何处。则我们可以在进行模式匹配之前,想对模式串进行自我匹配,来计算出对于i在模式串的任意位置匹配失败后...
分类:
其他好文 时间:
2014-09-18 18:56:44
阅读次数:
159
题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入"Wearehappy.",则输出"We%20are%20happy."。思路:我们从字符串的后面复制和替换。首先准备两个指针,p1和p2。p1指向原字符串的末尾,p2指向替换之后的字符串的末尾。然后我们向前移动p1指针,逐个把它指向的..
分类:
其他好文 时间:
2014-09-18 16:44:04
阅读次数:
170
Dos的设计是基于16位的CPU的,也就是CPU中的每个寄存器(Register)只有16位,只能存放0-65535(64K)的值。为了能访问大于64K的内存,人们用了分段的方法,用两个16位的数来记录逻辑上地址,第一个是段值(Segment),第二个是偏移量(Offset),写起来的格式一般是段值...
分类:
编程语言 时间:
2014-09-16 10:21:30
阅读次数:
187
在ios5之前,是没有ARC的,所以内存靠自己手动回收或者使用autorelease.下面来介绍非ARC的情况,假定有两个指针a和b. 1.关键字asign。针对的情况就是直接赋值,只针对基本类型,比如int float double short bool char long等。它只进行直接赋值,....
分类:
移动开发 时间:
2014-09-16 09:10:10
阅读次数:
223