码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
快排算法的实现
先来说网上流行最多的实现,用两个指针,一个从前往后,一个从后往前。直接上代码,如下。 再来说说我最喜欢的风格,也是算法导论上的快排实现方法,两个指针从同一边开始,算法导论的思路很清晰,还给出了完整的理论推导,不变性的证明,有兴趣的可以去看看算法道路的快排章节。 下面是算法导论关于快排的实现思路,如下 ...
分类:编程语言   时间:2019-10-21 11:22:53    阅读次数:81
移动零
题意给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序 注意事项:必须在原数组上操作最小化操作数 样例给出 nums = [0, 1, 0, 3, 12], 调用函数之后, nums = [1, 3, 12, 0, 0].思路设两个指针,先都指向数组头元素,一个依次... ...
分类:移动开发   时间:2019-10-21 00:21:38    阅读次数:163
# 莫队算法小结(待更新)
莫队算法小结(待更新) [toc] 简单介绍 博客安利: 1. "OI Wiki" 2. "大米饼" 解决一类离线区间查询问题,分块思想,时间复杂度$O(n\sqrt n)$ 排序 读入的时候对整个数组进行分块,块大小一般使用$\sqrt n$,对询问操作排序的时候,先以块号为第一关键字,$r$为第 ...
分类:编程语言   时间:2019-10-19 12:51:49    阅读次数:97
剑指offer——54数组中的逆序对
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,siz ...
分类:编程语言   时间:2019-10-19 00:03:44    阅读次数:99
梳理思路
从头开始吧 一: T1:Censoring(字符串hash) hash+灵活运用+神仙思路: jg[]表示答案串,c[]是读入串,lhash[]表示新字符串的hash值,shash[]表示原字符串的hash值 用两个指针js表示最后输出字符串的长度,zz表示原字符串加到哪了, 每从原字符串里往答案加 ...
分类:其他好文   时间:2019-10-14 12:43:39    阅读次数:96
链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下
1 /*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/ 2 /* 3 算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换 4 pre->data和p->data 5 */ 6 void SwapData(LinkLis... ...
分类:其他好文   时间:2019-10-10 20:21:43    阅读次数:112
SGI-STL简记(六)-序列容器(list)
stl_list.h : list:一个可从任意位置快速插入和删除元素的双向链表,可在常数时间内完成,但是取数据、查找等则需要线性时间; _List_node_base:链表节点基类struct,仅包含_M_next、_M_prev成员,其分别为指向当前节点基类类型的下一个、上一个节点的指针; _L... ...
分类:其他好文   时间:2019-10-10 12:47:46    阅读次数:68
Java并发包中的并发队列简记
ConcurrentLinkedQueue ConcurrentLinkedQueue内部的队列使用带头节点的单向链表实现,并且维持头尾两个指针,头指针出队、尾指针入队。该队列的出队入队操作都是线程安全的。 保证安全的方式 对于头尾指针均使用volatile关键字修饰从而保证可见性,对于头尾指针的修 ...
分类:编程语言   时间:2019-10-07 11:19:57    阅读次数:78
最小表示法总结
问题解决 一般用于解决一类最小表示或最小串的问题。 问题引入 例题: "poj1509" 求它的循环串中字典序最小的串的开头。 问题解决 暴力 找到所有的串存下来然后排序,复杂度$\Theta(n^2)$的。 诡异做法 建个后缀自动机然后遍历最小的字母边即可。 正经一点的 考虑两个指针$i$,$j$ ...
分类:其他好文   时间:2019-10-05 22:34:06    阅读次数:110
python数据结构之二叉树的建立实例
先建立二叉树节点,有一个data数据域,left,right 两个指针域 建立树: 手动建立二叉树 然后会生成下面的二叉树 除了 手动一个个的制定 node 节点,还可以创建一个 create 方法,接受用户输入添加二叉树节点。。。使用前续方式添加 ,代码如下: 使用create创建二叉树 通过 c ...
分类:编程语言   时间:2019-10-05 18:34:44    阅读次数:109
1059条   上一页 1 ... 16 17 18 19 20 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!