自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【算法】反转队列前K个元素

反转队列前K个元素 想到队列的反转那肯定首先想到的就是堆栈(同理堆栈反转也可以利用队列) 有一个办法我们可以将K个元素入栈,然后可以另一个队列将剩下的元素放入,随后我们首先将栈元素回归原来的队列,最后将临时队列也入队。 //使用一个辅助的队列和堆栈实现 //前k个放入堆栈,后面的放入队列 //取出...

2018-09-28 21:49:02

阅读数 1393

评论数 0

原创 【算法】使用队列实现栈

使用队列实现栈 前一篇使用栈实现队列文章用2个栈实现了一个队列,其实实现栈也是同理(修改一点点代码即可实现)。 struct Stack { Stack() {} Stack(std::initializer_list<int> list...

2018-09-27 16:35:06

阅读数 82

评论数 0

原创 【算法】使用栈实现队列

使用栈实现队列 栈中的元素采用LIFO (Last In First Out),即后进先出。 队列(Queue)与栈类似,都是采用线性结构存储数据。它们的区别在于,栈采用LIFO方式,而队列采用先进先出,即FIFO(First in First Out)。 所以2个栈交换数据可以达到队列的效果。 ...

2018-09-27 16:26:46

阅读数 86

评论数 0

原创 【算法】使用栈检查表达式的括号匹配

使用栈检查表达式的括号匹配 给定一个表达式字符串exp,编写一个程序来检查对和“{”,“}”,“(”,“)”,“[”,“]”的顺序是否在exp中是正确的。 例如,程序应该为exp =“[()] {} {[()()]()}”打印为true,对于exp =“[(])”则为false。 算法步骤 其实这...

2018-09-27 15:14:54

阅读数 1340

评论数 2

原创 【项目调优小结】状态机优化业务交互

ing

2018-09-25 22:57:47

阅读数 60

评论数 0

原创 【算法】使用栈为栈的元素排序

使用栈为栈的元素排序 栈中的元素采用LIFO (Last In First Out),即后进先出。 基本思路就是: 从源栈中取出一个元素 在临时栈中找到元素的位置,该位置到栈顶不合适的元素(大于或者小于,或者其他pred类型)将其全部“扔”回源栈 循环1和2即可得到新的临时栈,其中元素就是排好的...

2018-09-25 22:52:07

阅读数 684

评论数 0

原创 【算法】使用栈计算简单的后缀表达式

###计算后缀表达式 计算简单的后缀表达式,形如:“231*+9-” 主要还是利用了栈的特性,先入后出。计算的简略步骤如下: 第一个元素是2,将其入栈。此时栈元素为2 遇到3,将其入栈。此时栈元素为23 遇到1,将其入栈。此时栈元素为231 遇到操作,弹出2个数字进行乘法操作(先出...

2018-09-20 22:56:24

阅读数 613

评论数 0

原创 【算法】重新排序数组中正数和负数

排序正数和负数 这里有很多可行的解决方法,我们可以将正数和负数分离,然后将正数和负数依次交换。 void rearrange(std::vector<int>& arrs) ...

2018-09-20 21:37:55

阅读数 2070

评论数 0

原创 【C++11】对象消息总线(2)

本系列文档从属于:C++11应用实践系列 部分Demo和结论引用自<深入应用C++11代码优化与工程>这本书 消息总线消息总线设计思想 前一节已经介绍了,如何承载消息,本节将会实现,消息保存和分发。 消...

2018-09-18 22:40:55

阅读数 899

评论数 0

转载 【RPC-Python】分布式 RPC 知识基础

分布式 RPC 知识基础分布式 RPC 知识基础杀死子进程信号处理函数错误码特殊信号收割子进程信号连续打断kazoo 分布式 RPC 知识基础 本节要学习一下 ZooKeeper 的进程管理、信号处理和服务发现的 Python 客户端基本使用。 杀死子进程 killparentchild Pyt...

2018-09-17 22:24:09

阅读数 562

评论数 0

原创 【算法】合并两个排序的数组

合并两个排序的数组 对于集合合并这类操作,其实不同的数据量,为了速度或者更小的空间有很多种做法,甚至可使用多线程并发处理都可以(下一节会实现该方式)。下面的例子基于单线程,且数据量较小的实现。 拉链法 对应合并集合我们可以选择首先将集合1拷贝到集合3中,然后使用插入的方式将集合2插入到集...

2018-09-16 21:07:29

阅读数 736

评论数 0

原创 【C++11】对象消息总线(1)

本系列文档从属于:C++11应用实践系列 部分Demo和结论引用自<深入应用C++11代码优化与工程>这本书 什么是消...

2018-09-11 22:56:51

阅读数 1836

评论数 0

原创 【算法】查找第一个没有重复的数组元素

第一个没有重复的数组元素 很直接使用两重循环,内部循环检查是否存在多次。 for (int i = 0; i < arrays.size(); ++i) { int j = 0; for (; j &lt...

2018-09-10 22:39:03

阅读数 1858

评论数 0

原创 【算法】查找数组中第二小的元素

第二小的元素 这里有很多方法可以实现: 一个简单的解决方案是按递增顺序对数组进行排序,堆排、快排、归并排序等等都可以达到目的。排序数组中的前两个元素是两个最小的元素。这个解的时间复杂度是O(nlogn)。 关于排序算法后续会继续更新。 更好的解决方案是扫描数组两次。在第一次遍历中...

2018-09-10 21:58:26

阅读数 6297

评论数 0

转载 【RPC-Python】深入RPC分布式原理

前面几节讲的都是单机 RPC 服务的模式,无论是多线程也好多进程也好,它们都只能算是单点的设计。现代企业的关键性 RPC 服务是绝不可以只使用单点部署的。本节我们要对 RPC 服务进行分布式化,使得服务可以容忍个别节点故障仍能继续对外提供服务。 客户端 当 RPC 服务部署在多个节点上...

2018-09-04 21:53:43

阅读数 2075

评论数 1

转载 【RPC-Python】多进程描述符传递模型

这个一个基于Node Cluster的多进程并发模型。 Nginx 并发模型 我们知道 Nginx 的并发模型是一个多进程并发模型,它的 Master 进程在绑定监听地址端口后 fork 出了多个 Slave 进程共同竞争处理这个服务端套接字接收到的很多客户端连接。 这多个 Slav...

2018-09-04 21:10:54

阅读数 190

评论数 0

提示
确定要删除当前文章?
取消 删除