- 博客(201)
- 资源 (1)
- 收藏
- 关注
原创 旧题新做
1.53. 最大子序和要求打印对应的最短的最大子序列class Solution {public: int maxSubArray(vector<int>& nums) { int len = nums.size(); int sum = nums[0]; int res = nums[0]; int ed = 0; int tmp_cnt = 1; int cnt = 1
2020-09-10 18:17:23
257
原创 小红书0906笔试
题目:输入终点X输入每天最小航速L,最大航速T和数据组数N然后有N个数字,每个数字代表坐标位置处是危险区域求到达终点最少停留在危险区域的次数例如:输入102 3 45 4 2 3输出1代码:(还没验证过。。)#include <vector>#include <iostream>#include <limits.h>#include <unordered_set>#include <algorithm
2020-09-06 21:41:47
272
原创 [总结篇4] l2-agent的细节
先看Ml2Plugin:class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2, external_net_db.External_net_db_mixin, sg_db_rpc.SecurityGroupServerRpcMixin, agentschedulers_db.DhcpAgentSchedulerDbMixin,
2020-09-01 15:32:42
804
原创 [总结篇3]Provider_network的含义
1.命令行格式neutron net-create public --shared --provider:physical_network public --provider:network_type flat如果是vlan,还需要加上segment_idneutron net-create public --shared --provider:physical_network public --provider:network_type vlan --provider:segment.
2020-08-31 22:50:44
2557
原创 百度面试 中缀表达式变成后缀表达式
初始化两个栈:运算符栈s1和储存中间结果的栈s2; 从左至右扫描中缀表达式; 遇到操作数时,将其压s2; 遇到运算符时,比较其与s1栈顶运算符的优先级: 如果s1为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈; 否则,若优先级比栈顶运算符的高,也将运算符压入s1 否则,将s1栈顶的运算符弹出并压入到s2中,再次转到(4-1)与s1中新的栈顶运算符相比较。(栈顶与当前优先级相同也弹) 总结就是:弹出优先级大于等于自己的运算符号。(左括号的优先级最低为0) ..
2020-08-31 12:55:06
147
原创 RYU控制器的学习笔记(三) 利用观察者模式通知app处理报文
当一个流量包通过tcp报文发送到6633端口的时候,会发生什么?def _recv_loop(self): ........ msg = ofproto_parser.msg( self, version, msg_type, msg_len, xid, buf[:msg_len]) # LOG.debug('queue msg %s cls %s', msg, msg.__class__) if msg: ev = ofp_event.ofp_
2020-08-27 21:30:47
580
原创 腾讯 面试手撕
1.逛街小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住)输入描述输入第一行将包含一个数字n,代表楼的栋数,接下来的一行将包含n个数字wi(1<=i<=n),代表每一栋楼的高度。1<=n<=100000;1<=wi<=100000;输出描述输出一行,包含
2020-08-26 11:42:06
588
原创 智力题:丢鸡蛋
https://www.nowcoder.com/discuss/487538?channel=666&source_id=home_feed作者:料稍稍链接:https://www.nowcoder.com/discuss/487538?channel=666&source_id=home_feed来源:牛客网1.次数稳定现在我们的目标是设计一种方案,使得无论危险层在哪层,我们的方案都是稳定的,且在最坏情况下是最优的,次数是稳定的3.1 如果A没碎,A可以继续尝试,但A尝
2020-08-25 16:24:16
347
原创 手撕线程池c++
#include "threadpool.h"pthread_mutex_t ThreadPool::mutex = PTHREAD_MUTEX_INITIALIZER;pthread_cond_t ThreadPool::cond = PTHREAD_COND_INITIALIZER;std::vector<Task*> ThreadPool::tasks;ThreadPool::ThreadPool(int threads) { this->threads .
2020-08-25 14:08:57
293
原创 算法题:找到一个数,这个数左边都比这个数小,右边都比这个数大
#include <iostream>#include <vector>#include <limits.h>#include <math.h>#include <algorithm>using namespace std;void dfs(vector<int>& nums){ int len = nums.size(); vector<int> dp(len, INT_MIN);.
2020-08-24 15:41:32
626
原创 MaximumGap的思想
n个数,放在n+1个桶子里,必定至少有一个空桶且空桶不是第一个和最后一个,是中间某个,所以空桶两边的间距是最大的...
2020-08-20 22:40:16
116
原创 网络虚拟化常见问题
1.网卡收发包的过程收包过程https://blog.youkuaiyun.com/jiangganwu/article/details/830371390.网卡驱动创建rx descriptor ring,并将地址写入网卡寄存器;网卡驱动为每个descriptor分配skb,并将地址写入descriptor;1.包到达网卡,网卡对包进行校验2.网卡将帧写入FIFO缓冲区3.DMA通过PCI总线将数据包复制到skb缓冲区,4.产生中断,交给内核处理,这些中断处理程序在网卡驱动中.
2020-08-18 20:50:02
552
原创 [总结篇2]Taas的实现
1.本地镜像流量的实现br-int/* 下面这条流表是对虚机流出方向流量的匹配.其中ovs_port_id为source port在br-int上对应的ofport值,source port出来的流量执行normal动作完成普通业务流的转发.除此之外,修改报文VLAN值为taas_id,之后送给br-tap做流量镜像策略判断 */table=0,priority=20,in_port=ovs_port_id,actions=normal,mod_vlan_vid:taas_id,ou
2020-08-17 20:12:42
505
原创 手写string类
https://blog.youkuaiyun.com/weixin_36299192/article/details/88973716
2020-08-15 12:54:33
158
原创 操作系统相关面试题
互斥锁和自旋锁的区别互斥锁:线程会从sleep(加锁)——>running(解锁),过程中有上下文的切换,cpu的抢占,信号的发送等开销。自旋锁:线程一直是running(加锁——>解锁),死循环检测锁的标志位,机制不复杂。...
2020-08-13 16:58:11
132
原创 c++ override final关键字
final:1.一个类或结构体不希望被继承class Base final{};class Derive : public Base{};报错信息如下:1.cpp:34:7: error: cannot derive from ‘final’ base ‘Base’ in derived type ‘Derive’ class Derive : public Base2.一个虚函数不希望被重写class Base{public: virtual v
2020-08-13 14:13:04
294
原创 visual studio 关闭编译优化
https://www.cnblogs.com/fuao2000/p/11018924.html对g++增加选项-fno-elide-constructors
2020-08-13 09:34:09
2905
原创 https 证书验证等原理
签名是指利用上一层证书的私钥,加密一些元信息(证书所有者的信息,包括基本信息,公钥,证书生效域名等)。这样,当收到签名证书时,只需要根据CA提供的公钥对签名解密,验证元信息是否一致,就可以判断当前证书是否合法。一句话来说就是,每个证书会对下一层的证书合法性做担保只有被认证过真实的证书才能获取私钥...
2020-08-12 22:39:21
350
原创 半连接队列 全连接队列??
半连接队列服务器接收到第一个SYN之后,处于SYN_RCVD状态,此时双方还没有建立连接,这种状态下的请求连接会被放到一个队列里,也叫半连接队列长度为 max(64, /proc/sys/net/ipv4/tcp_max_syn_backlog) ,在机器的tcp_max_syn_backlog值在/proc/sys/net/ipv4/tcp_max_syn_backlog下配置。Linux下默认会进行5次重发SYN-ACK包,重试的间隔时间从1s开始,下次的重试间隔时间是前一次的双倍,5次
2020-08-12 16:43:30
226
原创 根域名服务器 顶级域名服务器 权威域名服务器
1.全世界IPv4根服务器只有13台,分别为"A"至"M",1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。2.顶级域名服务器3.权威域名服务器4.本地域名服务器...
2020-08-12 09:41:46
8040
1
原创 百度笔试题练习
蘑菇阵https://blog.youkuaiyun.com/zjwcdd/article/details/52457706?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1
2020-08-10 15:11:52
238
原创 字节跳动面试题:用归并排序判断冒泡排序的轮数
树状数组的讲解:https://www.cnblogs.com/xenny/p/9739600.html面试题的答案在此:https://blog.youkuaiyun.com/优快云_Coder_T/article/details/77456548http://www.manongjc.com/detail/11-italvzpqijcxbyu.html(这个清楚点)
2020-08-05 17:44:26
218
原创 VXLAN和GRE的区别
1)主要的内容重点在vxlan的封装形式,多了50字节的tunnel长度;(14帧头+20ip头+8udp头+8vxlan头),其中vxlan头(00000100+24bit保留+24bit vxlanID+8bit保留)2)正常来说一个64-1518帧长的数据包,去掉vxlan的tunnel头部+FCS(帧校验序列-CRC)之后,只有10-1464长度可以使用,但是vxlan的封装是为了传输内层的来自vm的数据包,所以实际的传输过程需要调大整个网络环境的MTU,才能正常传输;3) GRE封装的是i
2020-08-05 11:55:36
2503
原创 tap/tun设备 veth设备
tap/tun设备 veth设备是openstack网络虚拟化中的重要的概念参考资料:https://zhuanlan.zhihu.com/p/74634285https://blog.youkuaiyun.com/sld880311/article/details/77854651TAP/TUN1.TAP/TUN 是 Linux 内核实现的一对虚拟网络设备,TAP 工作在二层,TUN 工作在三层。Linux 内核通过 TAP/TUN 设备向绑定该设备的用户空间程序发送数据,反之,用户空间程序也可以
2020-08-05 11:29:27
748
原创 用rand_7()实现rand_10()
采样问题的公式一知 rand_N() 可以等概率的生成[1, N]范围的随机数那么:(rand_X() - 1) × Y + rand_Y() ==> 可以等概率的生成[1, X * Y]范围的随机数即实现了 rand_XY()利用rand7()可以生成rand49()利用拒绝采样,提取1~40的数字减去1得到0~39,然后对10取模得到0~9,+1 得到1~10,即rand10()...
2020-07-28 22:42:40
737
转载 TCP校验和的设计与实现
TCP校验和覆盖TCP首部和TCP数据,IP校验和值覆盖IP首部,不覆盖IP数据报、TCP的校验和是必需的,而UDP的校验和是可选的。TCP和UDP计算校验和时,都要加上一个12字节的伪首部。https://blog.youkuaiyun.com/qq_15437629/article/details/79183076伪首部的内容是从IP报头和TCP报头提取的...
2020-07-27 16:46:01
327
原创 c++ stl之pirority_queue
1.模板原型template<class T, class Sequence=vector<T>, class Compare=less<typename Sequence::value_type>>class priority_queue{public: typedef typename Sequence::value_type value_type; typedef typename Sequence::size_type size_typ
2020-07-25 19:30:55
148
原创 二数和,三数和,四数和的优化总结
1.你以为很简单的两数之和leetcode上你只用输出一组就好了,但如果有重复数字呢?比如 [1,2,2,3], target = 4这个时候有两组解[1,3], [2, 2]如果给出的测试用例是[1,1,2,2,2,3,3]也是有两组解[1,3], [2,2]要义在于,当得到一组解的时候,要进行去重2.三数之和当得到一组解的时候,除了做two sum中的去重,还要做什么?当然是给target去重了,当然,这个去重操作只能在two sum的结果都出来之后.
2020-07-25 15:25:51
112
原创 关于回文数的总结
多种动态规划思路1.dp[len][index]len 是回文数的长度index是回文数的起始下标dp[len][index] = s[index] == s[index+len-1]? dp[len-2][index+1]: 0;2.dp[index][index]这种方法的思路是,把长度为1,长度为2的字符串先算出来,比如dp[i][i], dp[i][i+1], 然后再算长度为3的,比如dp[i][i+2] = s[i] == s[i+2]? 1: 0;写法2.1
2020-07-25 12:08:53
320
原创 剑指 Offer 67. 把字符串转换成整数
这题恶心的地方在于,res要用long long 否则会直接越界。。。。 int myAtoi(string str) { int hassign = false; int sign = 1; long long res = 0; // 必须是res for (char c: str) { if (c == ' ' && !hassign) continue;
2020-07-24 22:40:44
102
原创 利用单调栈判断二叉搜索树的后序遍历序列
假设二叉搜索树长这样,他的异端前序遍历应该是[5,6,2,3,1]现在如果给出一个这样的数组,如何重建这课二叉搜索树?首先5 \ 6然后来了2, 递增栈会一直递增, 6,5这时候6,5全部被弹出,压入2, 2的父亲是上一个被弹出的5 5 / \2 6然后来了 5 / \2 6 \ 3...
2020-07-23 15:59:32
170
原创 华为 的几道笔试题
#include<iostream>#include <vector>using namespace std;vector<int> get(int n){ vector<int> dp(n+1, 0); vector<int> dp1(n+1, 0); dp[1] = 1; dp[2] = 2; dp1[1] = 1; dp1[2] = 1; for (int i = 3;...
2020-07-22 20:47:11
379
原创 剑指 Offer 43. 1~n整数中1出现的次数
思路:当一个数是七位数,xyzMabc如果M == 0,由于M以前的数字可以取0~xyz-1,共计xyz个,而每一个后面带M的都有0~999,共计1000个 xyz*1000如果M==1,由于M以前的数字可以取0~xyz-1,共计xyz个,当前面的数字为xyz时,后面的数字可以取到0~abc,共1+abc个,xyz*1000 + 1 + abc如果M > 1.由于M以前的数字可以取0~xyz-1,共计xyz+1个,xyz*1000 + 1000...
2020-07-21 14:13:43
114
原创 数组中的逆序对,为什么要在第一个小于等于的时候计数?
首先是不能用后面的数字计数的,为什么呢?因为后面的数小的情况,你是不知道比前面几个数小的,比如[4,3,] [2, 1]后面的2小计数+1, 1小 计数+1 然后就这?显然2,1 都比4,3小但如果按前面的来算的话肯定不会错的,啥意思呢,当选择4的时候,这时候j的下标是2,就是2个小于其实啊,当前面的比后面的小的时候,你看看后面的j的下标就知道后面有几个是比后面的小的,因为后面的已经被取走的肯定比前面没取走的小...
2020-07-20 20:14:29
133
原创 剑指 Offer 56 - I. 数组中数字出现的次数
这题可以用二分查找做,假设给定的数组是[1,2,2,4,4,6]那么如果我们对小于等于4的和大于4的分别做异或那么小于等于4的异或结果不为0大于4的异或结果不为0说明啥呢?说明这两个结果就是最终结果但是有一种情况是特殊的,就是0是单个这个时候就需要额外去判断AC代码:class Solution {public: vector<int> singleNumbers(vector<int>& nums) { int
2020-07-20 16:44:58
88
原创 剑指 Offer 59 - I. 滑动窗口的最大值
滑动窗口的位置 最大值 单减队列--------------- -----[1 3 -1] -3 5 3 6 7 3 3,-11 [3 -1 -3] 5 3 6 7 3 3, -1, -31 3 [-1 -3 5] 3 6 7 5 51 ...
2020-07-20 11:22:25
76
OpenStack icehouse版本配置说明手册
2018-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人