栈是一种基本的数据结构 基本概念 栈(Stack):具有一定操作约束的线性表。 只在一端(栈顶,Top)做插入、删除操作 插入数据:入栈(Push) 删除数据:出栈(Pop) 后入先出:Last In First Out(LIFO) 抽象数据类型描述 类型名称:栈 数据对象集:一个有0个或多个元素的 ...
分类:
其他好文 时间:
2020-07-05 19:36:04
阅读次数:
71
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持 ...
分类:
其他好文 时间:
2020-07-05 10:55:44
阅读次数:
62
下面来实战抓包、分析包 1.协议的分析 1.先分析使用的什么协议,每个协议有什么特征,邮件传输使用的SMTP协议,邮件接收协议使用pop3或imap协议 MUA协议:MUA就是“邮件用户代理”。邮件需要代理,这是由于通常Client端的计算机无法直接寄信,所以,需要通过MUA帮我们传递信件,不论是送 ...
分类:
其他好文 时间:
2020-07-05 10:28:01
阅读次数:
104
thinkphp5.1在php7.3下使用phpmailer报错: unable to select [11]: Resource temporarily unavailable (max_fd=592) 1、邮箱开启授权,获取授权码 首先在163邮箱中开启smtp授权(imap和pop两个我都开了 ...
分类:
Web程序 时间:
2020-07-04 15:28:41
阅读次数:
114
一、概述 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 它区别于面向过程思想(POP),强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。 面 ...
分类:
编程语言 时间:
2020-07-03 23:35:17
阅读次数:
68
一、连接池 python设置redis连接池的好处 通常情况下,需要连接redis时,会创建一个连接,基于这个连接进行redis操作,操作完成后去释放, 正常情况下,这是没有问题的,但是并发量较高的情况下,频繁的连接创建和释放对性能会有较高的影响,于是连接池发挥作用。 连接池的原理:‘预先创建多个连 ...
分类:
编程语言 时间:
2020-07-03 19:42:22
阅读次数:
54
从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路 把栈从头到尾的遍历,在遍历的时候放入栈中,栈使用(LinkedList结构模拟),然后在存完后把栈中的一个个元素pop出放入list中。 Java代码 import java.util.*; /** * ...
分类:
其他好文 时间:
2020-07-03 00:59:37
阅读次数:
58
双栈实现getMin功能的问题 左程云的《程序员代码面试指南》,第一个题是“设计一个有getMin功能”的栈,思路如下: 用到了双栈: 一个栈(stackData)用来保存当前栈中的元素,其功能和正常的栈没有区别; 另外一个栈(stackMin)用来保存每一步的最小值; 2种方案思路就是下面这幅图所 ...
分类:
其他好文 时间:
2020-07-03 00:49:59
阅读次数:
54
高精度加法 // C = A + B, A >= 0, B >= 0 #include<iostream> #include<vector> using namespace std; vector<int > add(vector<int > &A, vector<int > &B) { vecto ...
1 定义一个队列 queue<int> q; 2 关于queue的一些函数 取队列的头部 int temp = q.front(); 取队列的长度 int size = q.size(); 向队列添加元素 q.push(3); 删除队列的一个元素 q.pop(); ...
分类:
编程语言 时间:
2020-07-02 00:02:44
阅读次数:
61