fast

快慢指针

有些话、适合烂在心里 提交于 2020-02-21 15:48:36
快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。 快慢指针的应用 判断单链表是否为循环链表 让快慢指针从链表头开始遍历,快指针向前移动两个位置,慢指针向前移动一个位置;如果快指针到达NULL,说明链表以NULL为结尾,不是循环链表。如果 快指针追上慢指针,则表示出现了循环。 fast=slow=head; while(true){ if (fast==NULL || fast->next==NULL) return false; else if (fast==slow || fast->next==slow) return true; else{ fast=fast->next->next; slow=slow->next; } 在有序链表中寻找中位数 该方法在不借助计数器变量实现寻找中位数的功能。原理是:快指针的移动速度是慢指针移动速度的2倍,因此当快指针到达链表尾时,慢指针到达中点。程序还要考虑链表结点个数的奇偶数因素,当快指针移动x次后到达表尾(1+2x),说明链表有奇数个结点,直接返回慢指针指向的数据即可。如果快指针是倒数第二个结点,说明链表结点个数是偶数,这时可以根据“规则”返回上中位数或下中位数或(上中位数+下中位数)的一半。 while (fast&&slow) { if (fast->next

leetcode题解--#202.快乐数

落花浮王杯 提交于 2020-02-20 18:16:17
题目链接 题目描述:编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 实例: 输入: 19 输出: true 解释: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 = 1 题解:   常规方法当然是通过哈希表判重,即通过set(c++)记录每次计算得到的数来判断是否跳出循环。本文将介绍另一种方法,也就是利用Floyd Cycle思想来判断是否是1跳出循环。通俗来讲,就是快慢指针。   题目给出了快乐数的定义, 注意 :是快乐数最终会变成1;若不是则可能掉入死循环。意味着我们要思考如何跳出循环。这时,利用快慢指针可破循环。为什么这么说?顾名思义,可以假设快慢指针在同一起点(也就是出入值n)出发,快指针一次计算两步,慢指针一次计算一步,那么,在某一时刻,无论它是不是快乐数,快慢指针都会相遇。也就意味着循环周期结束。这时,我们可以跳出循环,判断是否是1导致跳出循环。   注:这里快慢指针分别走几步没有限制,掌握思想即可。当然,快两步慢一步效率相对高一些。 算法 class Solution { public : bool isHappy (

LeetCode刷题-- 双指针

被刻印的时光 ゝ 提交于 2020-02-19 04:27:09
26. 删除数组中的新元素 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4], 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。 class Solution { public int removeDuplicates ( int [ ] nums ) { //i指向要保留的数; //j遍历整个数组 int i = 0 ; for ( int j = 1 ; j < nums . length ; j ++ ) { if ( nums [ i ] != nums [ j ] ) { i ++ ; //找到了需要保留的数字,让i后移,腾出位置 nums [ i ] = nums [ j ] ; } } return i + 1 ; } } 633. 平方数之和 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1: 输入: 5 输出:

链表中间节点位置

我们两清 提交于 2020-02-17 19:30:48
查找链表中间节点位置有多种方式,首先会想到先遍历一遍获知节点个数,然后取一半作计数器控制访问步数。 另一种常会用到的是设置两个指针:fast_p, slow_p,步长分别为2和1,这样根据物理中 路程公式 s = v * t; fast_p走过的路程是slow_p的两倍,fast_p走到链表尾部时,slow_p一定在中间或中间左边第一个节点。 切记,循环终止条件是 (fast == null || fast.next == null) 不需要判断slow的状态。 如上图,序号分表代表第几次循环,同一序号左端的是slow节点,右边的是fast fast遇到终止条件的时候(fast == null or fast.next == null) slow正好在n/2处。 运用,如果回文以链表存储时,如问题 Palindrome Linked List 需要从slow.next的位置开始比较。 来源: https://www.cnblogs.com/vin-yuan/p/5380177.html

Exploit All the Layers: Fast and Accurate CNN Object Detector with Scale Dependent Pooling and Casca

女生的网名这么多〃 提交于 2020-02-14 07:34:03
参考: https://blog.csdn.net/bea_tree/article/details/51880175 Abstract 本文的两个创新点: (1)SDP:scale-dependent pooling,根据candinate object proposals的尺度,去不同的特征层上来提取特征。类似SSD (2)CRC:cascaded rejection classifers 级联的负样本排除分类器。使用卷积特征来判定其为负样本 1. Introduction (1)Fast RCNN对小目标不友好,因为直接对最后一层做池化,最后一层对于小目标可能包含的信息较少 (2)因为小目标在浅层产生较强的相应,大目标在高层产生较强的相应,所以创造SDP,根据candinate proposal region的尺度,从不同的卷积层中提取特征。(这是SSD的前身)。把特征送到多个尺度相关的目标分类器中 (3)CSP: 通过卷积层级联得到的级联分类器,前面的层是弱分类器。前几层得到的特征语义信息不强,难以判断是哪个类别,但是却可以用来排除简单的样本。这样我们就使用了全部层的卷积特征 3.Method (1)SDP 根据ROIs的尺度,去不同的层上提取特征 4.Cascaded Rejection Classifliers 相当于硬采样,类比Faster RCNN的rpn

sharepoint FAST serach 设置

情到浓时终转凉″ 提交于 2020-02-13 10:43:55
实战部署 FAST Search Server 2010 for SharePoint (作者: 闪电 ,转载请注明出处) 一、FAST Search Server 2010 for SharePoint简介 FAST是什么? 简单说,FAST就是企业级搜索工具。它让SharePoint的搜索更加强大。比如 交付与上下文相关的结果。 用您的业务所用的语言进行搜索。 调整相关性以提高准确性。 自定义搜索平台以满足您的特定索引和搜索需要。 配置用户界面以自定义信息工作者的搜索体验。 上面说的都比较虚,其实企业对搜索的需求越来越强,特别是大型企业,各种企业应用,很多的文档,各种业务相关的新闻、技术资料等。企业如何利用好这些信息,成为对企业发展有用的知识,就需要一个合适的搜索工具,为企业提供决策分析,让企业不会淹没在信息的海洋里。 服务器配置要求 官方提供了最低硬件要求:http://technet.microsoft.com/zh-cn/library/ff381239.aspx 最低硬件要求 推荐的硬件要求 4 GB RAM 16 GB RAM 4 个 CPU 内核, 2.0 GHz CPU 8 个 CPU 内核, 2.0 GHz CPU 50 GB 磁盘 包含 6 个或更多轴的 RAID 上拥有 1 TB 磁盘空间。 其实,建议配置多台搜索服务器,分别用于不同的服务器角色。 二

oracle体系-12-checkpoint

浪尽此生 提交于 2020-02-12 03:20:44
1.什么是 checkpoint checkpoint 是数据库的一个内部事件,检查点激活时会触发数据库写进程 (DBWR) ,将数据缓冲区里的脏数据块写到数据文件中。 其作用有两个方面: 1 ) 保证数据库的一致性 ,这是指将脏数据从数据缓冲区写出到硬盘上,从而保证内存和硬盘上的数据是一致的。 2 ) 缩短实例恢复的时间 ,实例恢复时,要把实例异常关闭前没有写到硬盘的脏数据通过日志进行恢复。如果脏块过多,实例恢复的时间也会过长,检查点的发生可以减少脏块的数量,从而减少实例恢复的时间。 2.检查点分类 ①完全检查点 full checkpoint ②增量检查点 incremental checkpoint ③局部检查点 partial checkpoint 2-1.完全检查点工作方式: 记下当前的 scn, 将此 scn 之前所有的脏块 一次性 写完,再将该 scn 号同步更新 控制文件 和 数据文件头 。 触发完全检查点的四个操作 ①正常关闭数据库 :shutdown immediate ②手动检查点切换 :alter system checkpoint; ③日志切换 : alter system switch logfile; ## 滞后触发 dbwr,先记后写 ④数据库热备模式: alter database begin backup; 示例 1 : 验证以上概念可以做一下

876. Middle of the Linked List - LeetCode

橙三吉。 提交于 2020-02-08 09:02:55
Question 876. Middle of the Linked List Solution 题目大意:求链表的中间节点 思路:构造两个节点,遍历链接,一个每次走一步,另一个每次走两步,一个遍历完链表,另一个恰好在中间 Java实现: public ListNode middleNode(ListNode head) { ListNode slow = head; ListNode fast = head; while (fast != null) { fast = fast.next; if(fast != null) { fast = fast.next; slow = slow.next; } } return slow; } 来源: https://www.cnblogs.com/okokabcd/p/9406821.html

剑指offer 链表中环的入口节点

南笙酒味 提交于 2020-02-07 06:52:36
1.题目 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 来源:剑指offer 链接: https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=13&tqId=11208&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 2.我的题解 2.1 快慢追赶法 先看看在同一个环中快追慢需要的时间(快指针速度 2 ,慢指针速度 1 ,追上是指二者重合),分析一下站位: 假设二者位置重合,那么已经追上了; 假设快指针落后于慢指针一个位置,那么 1 单位时刻后快指针追上慢指针; 假设快指针落后于慢指针两个位置,那么 2 单位时刻后快指针追上慢指针; 假设快指针在慢指针前面一个位置,那么 len-1 时刻后快指针追上慢指针,其中 len 是环的长度; 一般地,如果快指针距离慢指针距离为 n (顺环方向计算距离),那么快指针追上慢指针需要 n 单位时间,因为快指针每单位时间可以追上慢指针 1 个单位距离; 显然快慢指针初始站位最大距离小于环的周长,最坏情况下为 len-1 ;该情况下快指针追上慢指针时慢指针移动了 len-1 单位距离,快指针移动了 2*len-2 单位距离;

LeetCode --- 142. 环形链表 II

偶尔善良 提交于 2020-02-06 22:06:33
LeetCode链接: 142. 环形链表 II /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode detectCycle ( ListNode head ) { ListNode fast = head , slow = head ; while ( true ) { if ( fast == null || fast . next == null ) return null ; fast = fast . next . next ; slow = slow . next ; if ( fast == slow ) break ; } fast = head ; while ( slow != fast ) { slow = slow . next ; fast = fast . next ; } return fast ; } } 来源: CSDN 作者: 玉树临风你卓哥 链接: https://blog.csdn.net/songzhuo1991/article