码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
编程算法 - 将排序数组按绝对值大小排序 代码(C)
将排序数组按绝对值大小排序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy排序的数组有可能包含正负, 可以使用折半查找确定中值位置, 然后再使用两个指针, 顺次排序两端.解决思路是:    1.数组中的元素全为正,返回;    2.数组中的元素全为负,返回;    3.数组中有正数有负数,就用二分法查找,判断中间元素的符号       a)中间元素为正...
分类:其他好文   时间:2014-09-14 22:12:02    阅读次数:524
#leetcode#Linked List Cycle
1、题目Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?2、思路设置两个指针,一个每次走一步,另一个每次走两步。走两步的一定会追上走...
分类:其他好文   时间:2014-09-11 19:04:32    阅读次数:223
算法学习之排序算法:快速排序
快速排序:快速排序是对冒泡排序的一种改进。它的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 一趟快速排序的具体做法: 1、附设两个指针low和high,它们的初值分别为low和high,设枢轴记录的关键字为pivotkey。 2、首先从high所指位置起向前搜索找到第一...
分类:其他好文   时间:2014-09-11 09:39:51    阅读次数:216
单链表成环的相关问题
链表结构:typedef struct ListNode{ int val; struct ListNode *next;}ListNode;1.判断一个单链表是否有环这个问题采用追击的方法,定义两个指针,一个一次走两步,一个一次走一步,如果相遇了就说明有环。int is_cycle(L...
分类:其他好文   时间:2014-09-10 14:08:30    阅读次数:156
(白书训练计划)UVa 11572 Unique Snowflakes(窗口滑动法)
题目地址:UVa 11572 这种方法以前接触过,定义两个指针,不断从左向右滑动,判断指针内的是否符合要求。 这个题为了能快速判断是否有这个数,可以用STL中的set。 代码如下: #include #include #include #include #include #include #include #include #include #include #incl...
分类:其他好文   时间:2014-09-04 15:01:09    阅读次数:205
剑指Offer之替换空格
本身难度并不大,java一个replace();就可以了,或者另外开辟一个String,遍历一遍也是可行的,但是出发点并不是A题,而是考虑性能,程序在空间还有时间上的使用以及程序的鲁棒性,不过九度上的测试数据还真是大char数组要开到10^6次方。 普通的就不说了,介绍一下书中的方法。 假设str="We Are Happy";设置两个指针p1,p2。初始化为0.p1指的是原长度,p2指的是替...
分类:其他好文   时间:2014-09-03 19:56:17    阅读次数:239
【数据结构与算法】字符串匹配KMP算法
首先需要了解一下BF暴力匹配算法,这个算法为每一个串设置一个指针,然后两个指针同时后移,出现不匹配的情况后,主串指针回到开始后移之前的位置的下一位,模式串指针回到最开始。 对比一下KMP算法,同样是设置两个指针,然后两个指针同时后移,出现不匹配的情况后,主串指针不变,模式串指针回溯一定的距离。具体模式串指针回溯多少,是第一次看KMP算法的人比较难以理解的,其实仔细想想,模式串的前缀和后缀其实也是...
分类:其他好文   时间:2014-09-03 11:21:16    阅读次数:136
Leetcode 链表 Linked List Cycle II
题意:给定一个单链表,判断该链表中是否存在环,如果存在,返回环开始的节点 思路: 1.定义两个指针,快指针fast每次走两步,慢指针s每次走一次,如果它们在非尾结点处相遇,则说明存在环 2.若存在环,设环的周长为r,相遇时,慢指针走了 slow步,快指针走了 2s步,快指针在环内已经走了 n环, 则有等式 2s = s + nr => s = nr 3.在相遇的时候,另设一个每次走一步的慢指针slow2从链表开头往前走。因为 s = nr,所以两个慢指针会在环的开始点相遇 复杂度:时间O(n) struct...
分类:其他好文   时间:2014-08-30 23:07:40    阅读次数:187
快速排序深入
快速排序的分治的两种实现方式1,两个指针分别从前面和后面向中间移动// 快速排序有两种partition的方式 // 方式一:两个指针从两端向中间靠拢 private int partation1(int[] array, int start, int end) { int...
分类:其他好文   时间:2014-08-26 19:18:06    阅读次数:178
[LeetCode系列]链表环探测问题II
给定一个链表头, 探测其是否有环, 如果没有返回NULL, 如果有返回环开始的位置.环开始的位置定义为被两个指针指向的位置.算法描述:1. 快慢指针遍历, 如果到头说明无环返回NULL, 如果相遇说明有环, 进入2.2. 慢指针回到起点, 快慢指针每次移动一格直到相遇, 返回快指针/慢指针.代码: ...
分类:其他好文   时间:2014-08-22 10:49:06    阅读次数:178
1059条   上一页 1 ... 96 97 98 99 100 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!