发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967
课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。
腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518
第二个视频发布 https://edu.csdn.net/course/detail/27109
腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518
介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。
第三个视频发布:https://edu.csdn.net/course/detail/27574
详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------
1scala版本
package ms
import scala.util.Random
/**
* 第11题(树)
求二叉树中节点的最大距离...
如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,
我们姑且定义"距离"为两节点之间边的个数。
写一个程序,
求一棵二叉树中相距最远的两个节点之间的距离。
*
*/
class RandomBinaryTree{
var root:RandomNode=null;
def init(data:List[Int]){
if(data.length>0){
root=RandomNode(data(0))
if(data.length>1){
for(i<-1 until data.length){
insertRandomNode(root,data(i))
}
}
}
}
private[this] def insertRandomNode(parent:RandomNode,value:Int){
var b:Boolean= Random.nextBoolean();
if(b){
if(parent.left==null){
parent.left=RandomNode(value)
}else{
insertRandomNode(parent.left, value)
}
}else{
if(parent.right==null){
parent.right=RandomNode(value)
}else{
insertRandomNode(parent.right, value)
}
}
}
def computeMaxDepth(parent:RandomNode):Unit={
if(parent.left==null){
parent.leftDepth=0;
}
if(parent.right==null){
parent.rightDepth=0;
}
if(parent.left!=null){
computeMaxDepth(parent.left)
parent.leftDepth=math.max(parent.left.leftDepth,parent.left.rightDepth)+1
}
if(parent.right!=null){
computeMaxDepth(parent.right)
parent.rightDepth=math.max(parent.right.leftDepth, parent.right.rightDepth)+1
}
}
def computeMaxLongDepth(parent:RandomNode):Int={
if(parent==null){
return 0
}
val maxLongDepth=parent.leftDepth+parent.rightDepth;
val leftmax=computeMaxLongDepth(parent.left)
val rightmax=computeMaxLongDepth(parent.right)
return math.max(maxLongDepth, math.max(leftmax, rightmax))
}
}
case class RandomNode(var value:Int,var left:RandomNode=null,var right:RandomNode=null,var leftDepth:Int= -1,var rightDepth:Int= -1 )
object MicroSoft011 {
def main(args: Array[String]): Unit = {
val data=List(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
val tree=new RandomBinaryTree();
tree.init(data)
tree.computeMaxDepth(tree.root)
println(tree.computeMaxLongDepth(tree.root));
println()
}
}
2java版
3python版
'''
Created on 2017-1-18
@author: admin
/**
* 第11题(树)
求二叉树中节点的最大距离...
如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,
我们姑且定义"距离"为两节点之间边的个数。
写一个程序,
求一棵二叉树中相距最远的两个节点之间的距离。
*
*/
'''
from _overlapped import NULL
import sys
import random
class RandomBinaryTree:
def __init__(self,data):
if len(data)>0:
self.root=RandomNode(data[0])
if len(data)>1:
for i in range(1,len(data)):
self._insertNode(self.root,data[i])
def _insertNode(self,parent,value):
direction=random.choice([True,False])
if direction:
if parent.left==NULL:
parent.left=RandomNode(value)
else:
self._insertNode(parent.left, value)
else:
if parent.right==NULL:
parent.right=RandomNode(value)
else:
self._insertNode(parent.right, value)
def computeDepth(self,parent):
if parent.left==NULL:
parent.leftDepth=0
if parent.right==NULL:
parent.rightDepth=0
if parent.left!=NULL:
self.computeDepth(parent.left)
parent.leftDepth=max([parent.left.rightDepth,parent.left.leftDepth])+1
if parent.right!=NULL:
self.computeDepth(parent.right)
parent.rightDepth=max([parent.right.rightDepth,parent.right.leftDepth])+1
def computeMaxDepth(self,parent):
if parent==NULL:
return 0
depth=parent.leftDepth+parent.rightDepth+1
leftmax=self.computeMaxDepth(parent.left)
rightmax=self.computeMaxDepth(parent.right)
return max([depth,leftmax,rightmax])
class RandomNode:
def __init__(self,value):
self.value=value
self.left=NULL
self.right=NULL
self.leftDepth=-sys.maxsize
self.rightDepth=-sys.maxsize
if __name__ == '__main__':
data=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
tree=RandomBinaryTree(data)
tree.computeDepth(tree.root)
print(tree.computeMaxDepth(tree.root))