微软100题-天天做-第36题

本系列视频详细介绍了Kubernetes的多种部署方式,涵盖从开发测试到生产环境的实践,同时深入讲解了Kubernetes资源的使用配置与命令,包括configmap、pod、service等核心组件,以及helm命令的使用与helmchart的编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.youkuaiyun.com/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.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------

36.引用自网友:longzuo(运算)
谷歌笔试:
n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,
存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。

所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,
比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......
胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,
下一轮由上一轮的胜者按照顺序,再依次两两比,比如可能是4对5,直至出现第一名

编程实现,给出二维数组w,一维数组order 和 用于输出比赛名次的数组result[n],
求出result。

 

package com.microsoft;

import java.util.Random;

public class Competetion {
	private int[][]w;
	private int n;
	private int []order;
	private int[]result;
	public Competetion(int n){
		this.n=n;
		w=new int[n][n];
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				int random=new Random().nextInt(2);
				if(random==1){
					w[i][j]=i;
				}else{
					w[i][j]=j;
				}
			}
		}
		order=new int[n];
		for(int i=0;i<n;i++){
			order[i]=i;
		}
		int rest=n;
		while(rest>0){
			rest--;
			int r1=new Random().nextInt(n);
			int r2=new Random().nextInt(n);
			int tmp=order[r1];
			order[r1]=order[r2];
			order[r2]=tmp;
			
		}
		result=new int[n];
	}
	public void competetion(){
		competetion(1);
		buildResult();
	}
	private void buildResult(){
		int max=Integer.MIN_VALUE;
		for(int i=0;i<result.length;i++){
			max=Math.max(max, result[i]);
		}
		for(int i=0;i<result.length;i++){
			result[i]=max+1-result[i];
		}
	}
	public void competetion(int depth){
		int leave=0;
		int index=-1;
		for(int i=0;i<result.length;i++){
			if(result[i]==0){
				leave++;
				index=i;
			}
		}
		if(leave==0){
			return;
		}
		if(leave==1){
			result[index]=depth;
			return;
		}
		for(int i=0;i<order.length;){
			int left=-1;
			int right=-1;
			if(result[order[i]]==0){
				left=order[i];
				for(int j=i+1;j<order.length;j++){
					if(result[order[j]]==0){
						right=order[j];
						i=j+1;
						break;
					}
				}
			}else{
				i++;
				continue;
			}
			if(right==-1){
				break;
			}
			if(left!=-1&&right!=-1){
				if(w[left][right]==left){
					result[right]=depth;
				}else{
					result[left]=depth;
				}
			}
		}
		competetion(depth+1);
	}
	public void print(){
		for(int i=0;i<order.length;i++){
			System.out.print(order[i]+" ");
		}
		System.out.println();
		System.out.println("result:");
		for(int i=0;i<result.length;i++){
			System.out.print(result[i]+" ");
		}
	}
	public static void main(String[] args) {
		Competetion c=new Competetion(10);
		c.competetion();
		c.print();

	}

}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值