摘要:
树状数组可以解决什么样的问题: 这里通过一个简单的题目展开介绍,先输入一个长度为n的数组,然后我们有如下两种操作: 输入一个数m,输出数组中下标1~m的前缀和 对某个指定下标的数进行值的修改 多次执行上述两种操作 寻常方法对于一个的数组,如果需要求1~m的前缀和我们可以将其从下标1开始对m个数进行求 阅读全文
摘要:
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶: 你能在线性时间复杂度内解决此题吗? 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 阅读全文
摘要:
[C++ STL] deque使用详解 目录 一、概述 二、定义及初始化 三、基本操作函数 3.1 容量函数 3.2 添加函数 3.3 删除函数 3.4 访问函数 3.5 其他函数 四、迭代器与算法 五、总结 回到顶部 一、概述 deque(双端队列)是由一段一段的定量连续空间构成,可以向两端发展, 阅读全文
摘要:
【C++ STL】Set和Multiset 1、结构 set和multiset会根据特定的排序原则将元素排序。两者不同之处在于,multisets允许元素重复,而set不允许重复。 只要是assignable、copyable、comparable(根据某个排序准则)的型别T,都可以成为set或者m 阅读全文
摘要:
bitset常用函数用法记录 (转载) 有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中 阅读全文
摘要:
本文主要讨论0.11版本之前Kafka的副本备份机制的设计问题以及0.11是如何解决的。简单来说,0.11之前副本备份机制主要依赖水位(或水印)的概念,而0.11采用了leader epoch来标识备份进度。后面我们会详细讨论两种机制的差异。不过首先先做一些基本的名词含义解析。 水位或水印(wate 阅读全文
摘要:
简介 Apache Flink 提供了容错机制来恢复数据流应用的状态。这种机制保证即使在错误出现时,应用的状态会最终反应数据流中的每条记录恰好一次(exactly once)。注意,可以选择降级到至少一次的保证(at least once) 这种容错机制不断的为分布式数据流建立快照。对于拥有小状态( 阅读全文
摘要:
Storm容错机制:ACK机制 本文转自:https://www.jianshu.com/p/9679418250fa ACK机制有什么用? 我们知道 Storm 是一个常驻服务,消息源源不断的来,他源源不断的处理,那肯定在有些情况下会导致消息的不正确处理,比如worker进程挂掉了,那么正在被处理 阅读全文
摘要:
状态和事件的定义: 对于分布式流处理系统,我们可以将数据处理流程抽象化为DAG(V,E),其中V表示逻辑的处理进程p,E表示进程之间通信的c。 C的状态是沿C发送的消息序列,不包括沿C接收的消息。P的状态是各种参数的值。 流程由一组状态,一个初始状态(来自此组)和一组事件定义(全局状态转换图)。进程 阅读全文
摘要:
Storm的架构: Nimbus: 风暴Nimbus执行一些功能,包括调度、监视和分发jar。它还提供系统的运行监控组件,并管理多个拓扑的计数器。因此,Nimbus组件在功能上过载,并且由于各种原因常常成为操作瓶颈。 首先,Nimbus调度程序在粒度级别上不支持Storm Worker的资源预留和隔 阅读全文