- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 判断一颗二叉树是否为完全二叉树
package mainimport "container/list"//思路:层序遍历,只需分两种情况//1)若当前节点左孩子为空右孩子不为空,直接返回不空//2)若当前节点的左右孩子不全,则其后面的节点必须都为叶节点func isCompleteTree(root *TreeNode) bool { if root == nil { return true } l :...
2019-08-25 23:24:02
754
转载 使用 SPDK 技术优化虚拟机本地存储的 IO 性能
SPDK ( Storage performance development kit ) 是由 Intel 发起,用于使用 NVMe SSD 作为后端存储的应用软件加速库。该软件库的核心是实现了用户态、异步、无锁、轮询方式的 NVMe 驱动。与传统 Linux 内核的 NVMe 驱动相比,它可以大幅度降低 NVMe command 的延迟,同时提高单 CPU 的 IO 处理能力 IOPS,从而...
2019-07-05 15:58:17
844
原创 Coordinating Vertical Elasticity of both Containers and Virtual Machines(协调容器和虚拟机的垂直弹性)
本文来自于云计算领域顶会SOCC 2018年文章一、论文创新点 在虚拟化环境下的资源动态分配问题上,以往的研究只关注vm或者docker其中一种的资源弹性扩缩容策略,而在云环境下,vm和docker紧密联系,动态分配vm资源时docker无法感知,因此无法实现较好的资源扩缩容,该文提出了一种协调vm和docker资源分配的弹性垂直分配策略,通过实验并对比了单一的vm或者docker...
2019-04-21 16:01:09
321
原创 基于Docker的容器集群调度机制的设计与实现
本文来自于北京邮电大学2018年硕士论文的整理,作者李战。论文主要分为如下四部分一、集群调度架构总结1)中央式架构最原始,k8s,swarm均是该调度方式。由于所有任务都由唯一的调度器处理,处理这种异构工作负载对调度器的要求很高。不同应用程序对于集群资源的偏好不同,为了满足这些应用程序的需求,需要调度器开发针对性的调度策略2)两层式架构由一级调度器resource...
2019-03-31 20:24:19
2896
原创 leetcode第347号问题,前K个高频元素
思路:使用优先级队列,在队列中维护k个最高频元素,这样时间复杂度为O(nlogk),满足题目要求,由于go语言没有现成的优先级队列,因此可以根据官方手册用堆实现一个优先级队列,参考http://docscn.studygolang.com/pkg/container/heap/#pkg-index完整代码import ( "container/heap" "fmt")type ...
2019-03-11 14:20:16
238
原创 LeetCode202号问题——happy number遇到的坑
最早使用go语言刷,定义了一个全局变量map,结果在本地可以通过,提交到oj就通不过,程序确定没有问题,后来搜了一下原来leetcode的评测机制是全局变量是针对所有的testcase,也就是每运行一个testcase的时候全局变量都不会清空,故导致评测出错。本题的一种直观解法是递归,而go语言的map又无法在调用该map的第一行直接清空,因此无奈只好改成非递归解法,避免使用全局变量func...
2019-02-23 12:18:00
334
原创 剑指offer面试题4二维数组查找go语言实现
代码:package mainimport "fmt"func find(matrix [][]int, rows, columns, num int) bool { var flag = false if rows > 0 && columns > 0 { row := 0 column := columns-1 for row <...
2019-01-12 22:24:05
257
原创 go语言判断文件是否为UTF8编码
一、思路:1、UTF8编码规则:对于单字节字符,8个比特位最高位为0对于多字节字符,若字符由n个字节组成,则第一个字节8个比特中最高n位都是1,剩下n-1字节中最高位都是102、读取文件得到字节流3、判断是单字节字符还是多字节字符4、定义计数器nBytes,遍历每个字节,将字节与0x80进行与运算判断,结果为0,单字节字符,没毛病。结果不为0,用nBytes记录最高位出现的...
2018-10-18 22:22:33
7223
1
原创 使用kubeadm部署kubernetes集群
一、安装环境准备1、安装环境: centos7.5,一个master节点,两个node节点CentOS Linux release 7.5.1804 (Core)2、设置/etc/hosts文件的IP和主机名映射10.20.0.14 k8smaster10.20.0.15 k8snode110.20.0.16 k8snode2二、总体安装以下安装步骤若未指明,则都为...
2018-10-02 21:34:05
2751
1
转载 从分布式一致性谈到CAP理论、BASE理论
问题的提出在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。1、火车站售票假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行----一切似乎都是那么和谐。想象一下,如果他选择的目的地是杭州,而某一趟开往杭州的火车只剩下最后一张车票,可能在同一时刻,不同售票窗口的另一位...
2018-09-08 14:51:18
164
原创 Go语言实现归并排序
直接上代码package mainimport "fmt"//p:头 r:尾func mergeSort(arr []int,p,r int){ if p<r { q := 0 if (r-q+1)%2 == 0 { q = (p + r - 1) / 2 } else { q = (p + r) / 2 } mergeSort(arr,p,...
2018-08-27 14:58:41
1570
原创 使用Golang的channel交叉打印两个数组
Go的channel提供了强大的同步功能,那么如何使用channel交叉打印两个数组呢?灰常简单,只需设置两个channel变量,数组1打印完一个值就用channel通知数组2,同理数组2打印完一个值用另一个channel通知数组1,即可实现同步package mainimport "fmt"func main(){ ch1 :=make(chan int) ch2 :=make...
2018-08-08 20:27:33
2231
原创 Golang学习笔记之依赖包管理工具gvt
一、gvt概念gvt全称为Go vendoring tool,可译为Go供应工具,或者意译为Go依赖包依赖包工具,whatever~~,简单来说就是可以方便的获取、更新、删除项目所依赖的工具包,这个特性在Go1.5之前并不支持,1.5版本中需要设置GO15VENDOREXPERIMENT=1才可以使用,1.6之后默认加入vendor属性,运行时Go会自动先在vendor目录下寻找依赖, 找不到...
2018-08-01 16:18:52
2602
原创 Python处理csv,json,xml文本
一、CSV简介: CSV(Comma-Separated Value),即逗号分隔符。CSV并不算真正的结构化数据,CSV文件内容仅仅是一些用逗号分割的原始字符串。虽然可以用str.split(',')分割提取CSV文件,但有些字段值可能含有嵌套的逗号,所以Python提供了专门用于解析和生成CSV的库,CSV即是一个。eg:该脚本演示了将数据转换成CSV格式写出,并再次读入。input:i...
2018-05-26 16:59:17
1270
原创 机器学习实战之Logistic回归
一、基本概念Logistic,一种解决回归问题的经典算法,属于优化算法的一种,主要使用梯度上升或下降的方法进行问题求解,从而得到最佳拟合直线。假设现在有一些数据点,我们用一条直线对这些点进行拟合,这个拟合过程就称做回归。利用Logistic进行分类的主要思想为:根据现有数据对分类界线建立回归公式,以此进行分类。显然得到Logistic拟合直线(曲线)并不是我们的终极目的,因为我们的目标是进行分类预...
2018-03-11 17:14:09
343
原创 今日头条笔试之字母交换
一、题目描述【编码题】字符串S由小写字母构成,长度为n。定义一种操作,每次都可以挑选字符串中任意的两个相邻字母进行交换。询问在至多交换m次之后,字符串中最多有多少个连续的位置上的字母相同?输入描述:第一行为一个字符串S与一个非负整数m。(1 输出描述:一个非负整数,表示操作之后,连续最长的相同字母数量。输入例子1:abcbaa 2输出例子1:2
2018-01-14 19:19:11
12271
3
原创 今日头条笔试之手串问题
一、问题描述题目摘自牛客网,可以到牛客网直接查找,现直接贴上原题目描述。作为一个手串艺人,有金主向你订购了一条包含n个杂色串珠的手串——每个串珠要么无色,要么涂了若干种颜色。为了使手串的色彩看起来不那么单调,金主要求,手串上的任意一种颜色(不包含无色),在任意连续的m个串珠里至多出现一次(注意这里手串是一个环形)。手串上的颜色一共有c种。现在按顺时针序告诉你n个串珠的手串上,每个串珠用所包
2018-01-12 14:49:43
6445
1
原创 PAT1007. 素数对猜想 (20)
一、题目描述让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。输入样例:
2018-01-11 14:01:43
195
原创 PAT1008. 数组元素循环右移问题 (20)
一、题目描述一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N ( 1=0
2018-01-11 13:56:16
1502
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人