fast

链表的中间节点

淺唱寂寞╮ 提交于 2019-12-09 15:16:18
题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = NULL. 示例 2: 输入:[1,2,3,4,5,6] 输出:此列表中的结点 4 (序列化形式:[4,5,6]) 由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。 思想 定义两个指针,一个快指针fast,一个慢指针slow,快指针fast移动的速度是慢指针slow的两倍. 当fast到达列表的末尾时,slow必然在中间 代码 public class ListNode { public var val: Int public var next: ListNode? public init (_ val: Int) { self.val = val } } func middleNode(_ head: ListNode?) -> ListNode? {

第十一讲--课时26--object detection

会有一股神秘感。 提交于 2019-12-06 18:43:32
图片中可能含有多个物体需要分类和定位,数量不确定 方案一 sliding windows 计算量太大,不被使用 方案二 region proposals regions是固定算法选择的,不经过学习。而且计算量还是大 fast R-CNN 选取region之后再投影到卷积层 fast R-CNN已经很快了,但是,对于test time,region proposals的时间限制了模型速度。 faster R-CNN 自己用网络去选取region(在卷积后的层上) ---------------------------------------------------------------------------------------------------------------------------------- YOLO/SSD(single shot detection) ##下图的对比已经不再绝对,YOLO已经很准确了## Dense Captioning 对每个bounding box进行image captioning ------------------------------------------------------------------------------------------------------------------------------

《Glibc内存管理》笔记DAY5

谁都会走 提交于 2019-12-06 15:07:34
分箱式内存管理 Unsorted bin   Unsorted bin 可以看作是 small bins 和 large bins 的 cache,只有一个 unsorted bin,以双向链表管理空闲 chunk,空闲 chunk 不排序,所有的 chunk 在回收时都要先放到 unsorted bin 中,分配时,如果在 unsorted bin 中没有合适的 chunk,就会把 unsorted bin 中的所有 chunk 分别加入到所属的 bin 中,然后再在 bin 中分配合适的 chunk。Bins 数组中的元素 bin[1]用于存储 unsorted bin 的 chunk 链表头。 /* The otherwise unindexable 1-bin is used to hold unsorted chunks. */ #define unsorted_chunks(M) (bin_at(M, 1)) /* Conveniently, the unsorted bin can be used as dummy top on first call */ #define initial_top(M) (unsorted_chunks(M)) unsorted_chunks(M):把 bin[1]设置为 unsorted bin 的 chunk 链表头。

Android RecyclerView: Super Fast ListView 超级快速的Lis

℡╲_俬逩灬. 提交于 2019-12-06 08:59:22
Android RecyclerView: Super Fast ListView 原文来自我的微信公众号: longkai_1991 先上图,看效果: 前几天刚release完公司的一个项目,有了点时间,于是就想找一些有意思的东西学习一下,顺便运用在项目之中。看到iOS的同事们在谈论iOS8的xx特性时,我突然也有想在公司项目的下一个版本中添加Android L版本的特性。 六月底的时候收看Google io时,当时对Android新的设计语言,Material Design,没什么太大的好感,感觉色彩一坨一坨的,好难看的样子,当时觉得亮点就是新的ART运行时环境和一些酷炫的动画效果。再后来,8月初的时候,自己出于好奇真的拿Nexus 5安装了一个L的预览版,体验很差...好多软件都还是holo的,反正觉得不是很期待就是啦。 回到重点,下载好最新的SDK,你会发现在 ANDROID_HOME/extras/android/m2repository/com/android/support 下面多了不少兼容库, cardview , support-annotations , recyclerview-v7 ,眼前一亮吧~这回,Google真的是拿出了好多东西呀,赞,尤其是cardview和recyclerview这两个新的控件,这个在Google最新的Material

leetcode 148. 排序链表 java

对着背影说爱祢 提交于 2019-12-06 02:18:29
题目: 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 解题: 归并排序(递归法) 题目要求时间空间复杂度分别为O(nlogn)O(nlogn)和O(1)O(1),根据时间复杂度我们自然想到二分法,从而联想到归并排序; 对数组做归并排序的空间复杂度为 O(n)O(n),分别由新开辟数组O(n)O(n)和递归函数调用O(logn)O(logn)组成,而根据链表特性: 数组额外空间:链表可以通过修改引用来更改节点顺序,无需像数组一样开辟额外空间; 递归额外空间:递归调用函数将带来O(logn)O(logn)的空间复杂度,因此若希望达到O(1)O(1)空间复杂度,则不能使用递归。 通过递归实现链表归并排序,有以下两个环节: 分割 cut 环节: 找到当前链表中点,并从中点将链表断开(以便在下次递归 cut 时,链表片段拥有正确边界); 我们使用 fast,slow 快慢双指针法,奇数个节点找到中点,偶数个节点找到中心左边的节点。 找到中点 slow 后,执行 slow.next = None 将链表切断。 递归分割时,输入当前链表左端点 head 和中心节点 slow 的下一个节点 tmp(因为链表是从

环形链表 II

前提是你 提交于 2019-12-05 06:29:09
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node index 1 解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: 输入:head = [1,2], pos = 0 输出:tail connects to node index 0 解释:链表中有一个环,其尾部连接到第一个节点。 示例 3: 输入:head = [1], pos = -1 输出:no cycle 解释:链表中没有环。 进阶:你是否可以不用额外空间解决此题? 利用快慢指针,快指针每次走两步,慢指针每次走一步,若快慢指针相遇,则存在环,否则不存在环返回 若存在环,设相遇时慢指针走的路径长度为s,快指针走的路径长度为f,由追击问题可得:f=2*s; 设链表头节点到环入口结点的距离为a,环长为b,则相遇时f=s+n*b(相遇时肯定绕环走了n圈); 得s=n*b;如果从头结点走,走到环的入口结点的距离为a+n*b;所以在第一次相遇后,让慢指针再走a步即可到达环的入口点 /** *

访问链表节点的时候,需要判断链表节点是否可以访问

旧城冷巷雨未停 提交于 2019-12-05 06:22:34
访问当前节点的时候仅仅需要判断当前节点就可以 struct ListNode { int val; struct ListNode *next; } struct ListNode *a; a = (struct ListNode *)malloc(sizeof(struct ListNode *)); while (a) { a = a->next; } 使用双指针的时候判断下一个节点是否可以访问就可以 struct ListNode *fast,*slow; slow = fast = head; while (fast && fast->next) { fast = fast->next->next; slow = slow->next; } 来源: https://www.cnblogs.com/zhangpengfei5945/p/11910056.html

浅谈僵尸网络利器:Fast-flux技术

China☆狼群 提交于 2019-12-05 03:07:14
浅谈僵尸网络利器:Fast-flux技术 一、背景 在早期的僵尸网络中,控制者通常会把C&C服务器的域名或者IP地址硬编码到恶意程序中,僵尸主机通过这些信息定时访问C&C主机获取命令。但同时安全人员也能够通过逆向恶意程序,得到C&C服务器的域名或者IP,利用这些信息定位C&C主机,安全人员就可以隔断C&C主机从而破坏僵尸网络。不少控制者为了保护C&C主机,使用Fast-flux技术来提高C&C服务器的健壮性。 二、基本概念 在正常的DNS服务器中,用户对同一个域名做DNS查询,在较长的一段时间内,无论查询多少次返回的结果基本上是不会改变的。Fast-flux技术是指不断改变域名和IP地址映射关系的一种技术,也就是说在短时间内查询使用Fast-flux技术部署的域名,会得到不同的结果。图2-1为Fast-flux技术工作方式。 图2-1 客户端访问Fast-flux网络流程 客户端两次访问 www.example.com 的过程如下: 1) 为了得到网站 www.example.com 的IP地址,客户端发起DNS查询。 2) 随后DNS服务器返回了一个IP地址1.2.3.4,同时TTL为一个很小的数值。 3) 客户端访问IP为1.2.3.4的服务器获取内容。 4) IP为1.2.3.4的服务器响应请求,返回相应内容。 5) 客户端再次访问 www.example.com

OHEM论文笔记

♀尐吖头ヾ 提交于 2019-12-05 01:47:59
目录 引言 Fast R-CNN设计思路 一、动机 二、现有方案hard negative mining 及其窘境 hard negative mining实现 窘境 设计思路 OHEM步骤: 反向传播 实验结果 引言 Fast R-CNN设计思路 Fast R-CNN将整张图片和选择性搜索算法提取出来的候选区域作为输入,对整张图片利用卷积+池化的组合提取特征,产生一个feature map(特征层),结合选择性搜索算法提取出来的候选区域位置,从feature map中选择对应位置的特征(红色框)送到RoI pooling层 因为后面的全连接层需要固定大小的输入,所以作者在RoI pooling层对其采用了特殊的处理。即将 \(h \times w\) 输入划分成固定的输出大小 \(H \times W\) ,这样 \(H \times W\) 的每个单元格中包含了 \(h/H \times w/W\) 个元素,对其中的元素进行maxpool,就得到了固定的输出大小 \(H \times W\) 。 将RoI pooling后的输出送入全连接层后在两个子网络分别进行输出和回归。 一、动机 ​目标检测领域一个经典的问题,难易样本不均衡。 二、现有方案hard negative mining 及其窘境 hard negative mining实现 固定模型,去寻找难样本添加到样本集中

Oracle物化视图

允我心安 提交于 2019-12-04 15:05:20
Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。 物化视图可以分为以下三种类型:包含聚集的物化视图;只包含连接的物化视图;嵌套物化视图。三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大。创建物化视图时可以指定多种选项,下面对几种主要的选择进行简单说明: 创建方式(Build Methods):包括BUILD IMMEDIATE和BUILD DEFERRED两种。BUILD IMMEDIATE是在创建物化视图的时候就生成数据,而BUILD DEFERRED则在创建时不生成数据,以后根据需要在生成数据。默认为BUILD IMMEDIATE。 查询重写(Query Rewrite):包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE两种。分别指出创建的物化视图是否支持查询重写。查询重写是指当对物化视图的基表进行查询时,Oracle会自动判断能否通过查询物化视图来得到结果,如果可以