ftp网站模板wordpress主题安装不了
2026/5/23 4:07:00 网站建设 项目流程
ftp网站模板,wordpress主题安装不了,广州网站建设设计厂家,ai建站工具最新华为OD机试 真题目录#xff1a;点击查看目录 华为OD面试真题精选#xff1a;点击立即查看 题目描述 现在有n个容器服务#xff0c;服务的启动可能有一定的依赖性#xff08;有些服务启动没有依赖#xff09;#xff0c;其次服务自身启动加载会消耗一些时间。 …最新华为OD机试真题目录点击查看目录华为OD面试真题精选点击立即查看题目描述现在有n个容器服务服务的启动可能有一定的依赖性有些服务启动没有依赖其次服务自身启动加载会消耗一些时间。给你一个 n x n 的二维矩阵useTime其中useTime[i][i]10 表示服务i自身启动加载需要消耗10suseTime[i][j] 1 表示服务i启动依赖服务j启动完成useTime[i][k]0 表示服务i启动不依赖服务k其实 0 ijk n。服务之间启动没有循环依赖不会出现环若想对任意一个服务i进行集成测试服务i自身也需要加载求最少需要等待多少时间。输入描述第一行输入服务总量 n之后的 n 行表示服务启动的依赖关系以及自身启动加载耗时最后输入 k 表示计算需要等待多少时间后可以对服务 k 进行集成测试其中 1 k n1n100输出描述最少需要等待多少时间(s)后可以对服务 k 进行集成测试示例1输入3 5 0 0 1 5 0 0 1 5 3输出服务3启动依赖服务2服务2启动依赖服务1由于服务123自身加载需要消耗5s所以55515需要等待15s后可以对服务3进行集成测试说明连续键入3个a故屏幕上字母的长度为3。示例2输入3 5 0 0 1 10 1 1 0 11 2输出26说明务2启动依赖服务1和服务3服务3启动需要依赖服务1服务123自身加载需要消耗5s10s11s所以5101126s需要等待26s后可以对服务2进行集成测试。示例3输入4 2 0 0 0 0 3 0 0 1 1 4 0 1 1 1 5 4输出12说明服务3启动依赖服务1和服务2服务4启动需要依赖服务123服务123自身加载需要消耗2s,3s,4s,5s所以34512s因为服务1和服务2可以同时启动要等待12s后可以对服务4进行集成测试。示例4输入5 1 0 0 0 0 0 2 0 0 0 1 1 3 0 0 1 1 0 4 0 0 0 1 1 5 5输出11说明服务3启动依赖服务1和服务2服务4启动需要依赖服务12服务5启动需要依赖服务35服务12345自身加载需要消耗1s,2s,3s,4s,5s所以24511s因为服务1和服务2可以同时启动服务3和服务4可以同时启动要等待11s后可以对服务5进行集成测试。解题思路题意解析服务的启动耗时给定一个n x n的矩阵useTime表示各服务的启动耗时和依赖关系useTime[i][i]表示服务i自身的启动耗时比如useTime[1][1] 10表示服务1启动自身耗时10s。useTime[i][j] 1表示服务i的启动依赖于服务j先启动。useTime[i][k] 0表示服务i启动不依赖服务k。无循环依赖各服务之间的依赖关系是无环的即不会出现服务启动循环依赖的情况。这意味着依赖关系是一个有向无环图DAG。计算目标最终需要计算若希望对服务k进行集成测试包括其自身启动则最少需要等待多少时间才能完成所有依赖的启动过程。解题思路动态规划或递归计算最短等待时间使用动态规划或者深度优先搜索DFS递归计算每个服务启动的最短时间。对于每个服务i其启动时间为自身启动耗时加上所有依赖服务完成启动所需的时间的最大值因为依赖服务可以并行启动。计算示例比如若服务k依赖服务j而j依赖i则k的启动时间为k的自身启动时间 j的启动时间包含其依赖 i的启动时间。Javaimportjava.util.Arrays;importjava.util.Scanner;publicclassMain{staticint[]cache;// 缓存每个服务所需的时间publicstaticvoidmain(String[]args){ScannerscannernewScanner(System.in);intnInteger.parseInt(scanner.nextLine().trim());// 服务数量cachenewint[n];Arrays.fill(cache,-1);// 初始化缓存int[][]matrixnewint[n][n];// 使用 split 方法读取矩阵数据for(inti0;in;i){String[]linescanner.nextLine().split( );for(intj0;jn;j){matrix[i][j]Integer.parseInt(line[j]);}}intkInteger.parseInt(scanner.nextLine().trim());// 需要查询的服务编号// 计算并输出结果System.out.println(calculateStartupTime(matrix,k-1));}// 计算服务启动时间privatestaticintcalculateStartupTime(int[][]matrix,intservice){// 如果缓存中已有计算结果直接返回if(cache[service]!-1){returncache[service];}intmaxDependencyTime0;// 存储依赖服务的最大启动时间// 遍历当前服务的依赖int[]dependenciesmatrix[service];for(inti0;idependencies.length;i){if(i!servicedependencies[i]!0){maxDependencyTimeMath.max(maxDependencyTime,calculateStartupTime(matrix,i));}}// 计算当前服务的启动时间包括自身启动时间cache[service]dependencies[service]maxDependencyTime;returncache[service];}}Pythonimportsys# 缓存每个服务所需的启动时间cache[]defcalculate_startup_time(matrix,service):# 如果缓存中已有该服务的计算结果直接返回ifcache[service]!-1:returncache[service]max_dependency_time0# 存储依赖服务的最大启动时间# 遍历当前服务的依赖关系dependenciesmatrix[service]foriinrange(len(dependencies)):ifi!serviceanddependencies[i]!0:# 递归计算依赖服务的启动时间并取最大值max_dependency_timemax(max_dependency_time,calculate_startup_time(matrix,i))# 计算当前服务的启动时间包括自身启动时间cache[service]dependencies[service]max_dependency_timereturncache[service]defmain():nint(input().strip())# 服务数量globalcache cache[-1]*n# 初始化缓存matrix[]# 使用split方法读取矩阵数据for_inrange(n):linelist(map(int,input().strip().split()))matrix.append(line)kint(input().strip())# 需要查询的服务编号# 计算并输出结果print(calculate_startup_time(matrix,k-1))if__name____main__:main()JavaScriptconstreadlinerequire(readline);// 缓存每个服务所需的启动时间letcache[];functioncalculateStartupTime(matrix,service){// 如果缓存中已有该服务的计算结果直接返回if(cache[service]!-1){returncache[service];}letmaxDependencyTime0;// 存储依赖服务的最大启动时间letdependenciesmatrix[service];// 获取当前服务的依赖关系// 遍历依赖关系for(leti0;idependencies.length;i){if(i!servicedependencies[i]!0){maxDependencyTimeMath.max(maxDependencyTime,calculateStartupTime(matrix,i));}}// 计算当前服务的启动时间包括自身启动时间cache[service]dependencies[service]maxDependencyTime;returncache[service];}constrlreadline.createInterface({input:process.stdin,output:process.stdout});letinput[];rl.on(line,(line){input.push(line);}).on(close,(){constnparseInt(input[0].trim());// 服务数量cacheArray(n).fill(-1);// 初始化缓存letmatrix[];for(leti1;in;i){matrix.push(input[i].trim().split( ).map(Number));}constkparseInt(input[n1].trim());// 需要查询的服务编号// 计算并输出结果console.log(calculateStartupTime(matrix,k-1));});C#includeiostream#includevector#includealgorithmusing namespace std;// 缓存每个服务所需的启动时间vectorintcache;// 计算服务启动时间intcalculateStartupTime(constvectorvectorintmatrix,intservice){// 如果缓存中已有该服务的计算结果直接返回if(cache[service]!-1){returncache[service];}intmaxDependencyTime0;// 存储依赖服务的最大启动时间constvectorintdependenciesmatrix[service];// 获取当前服务的依赖关系// 遍历依赖关系for(inti0;idependencies.size();i){if(i!servicedependencies[i]!0){maxDependencyTimemax(maxDependencyTime,calculateStartupTime(matrix,i));}}// 计算当前服务的启动时间包括自身启动时间cache[service]dependencies[service]maxDependencyTime;returncache[service];}intmain(){intn;cinn;// 服务数量cache.resize(n,-1);// 初始化缓存vectorvectorintmatrix(n,vectorint(n));// 读取矩阵数据for(inti0;in;i){for(intj0;jn;j){cinmatrix[i][j];}}intk;cink;// 需要查询的服务编号// 计算并输出结果coutcalculateStartupTime(matrix,k-1)endl;return0;}Gopackagemainimport(bufiofmtosstrconvstrings)// cache 用于缓存每个服务所需的时间避免重复计算varcache[]intfuncmain(){// 使用 bufio 读取处理可能的输入缓冲问题scanner:bufio.NewScanner(os.Stdin)// 设置缓冲区大小以应对大输入constmaxCapacity20*1024*1024buf:make([]byte,maxCapacity)scanner.Buffer(buf,maxCapacity)// 读取 n (服务数量)if!scanner.Scan(){return}nStr:strings.TrimSpace(scanner.Text())n,_:strconv.Atoi(nStr)// 初始化缓存填充 -1cachemake([]int,n)fori:rangecache{cache[i]-1}// 初始化矩阵matrix:make([][]int,n)// 读取矩阵数据fori:0;in;i{if!scanner.Scan(){break}// strings.Fields 相当于 Java 的 split( ) 且能处理多个空格parts:strings.Fields(scanner.Text())matrix[i]make([]int,n)forj:0;jnjlen(parts);j{val,_:strconv.Atoi(parts[j])matrix[i][j]val}}// 读取 k (需要查询的服务编号)if!scanner.Scan(){return}kStr:strings.TrimSpace(scanner.Text())k,_:strconv.Atoi(kStr)// 计算并输出结果 (k-1 是因为题目输入通常是1-based而数组是0-based)fmt.Println(calculateStartupTime(matrix,k-1))}// calculateStartupTime 计算服务启动时间funccalculateStartupTime(matrix[][]int,serviceint)int{// 如果缓存中已有计算结果直接返回ifcache[service]!-1{returncache[service]}maxDependencyTime:0// 存储依赖服务的最大启动时间// 遍历当前服务的依赖dependencies:matrix[service]fori:0;ilen(dependencies);i{// i ! service: 排除自身// dependencies[i] ! 0: 表示存在依赖关系ifi!servicedependencies[i]!0{time:calculateStartupTime(matrix,i)iftimemaxDependencyTime{maxDependencyTimetime}}}// 计算当前服务的启动时间依赖项的最大时间 自身的启动时间// matrix[service][service] 存储的是自身的启动耗时cache[service]dependencies[service]maxDependencyTimereturncache[service]}C语言#includestdio.h#includestdlib.h// 缓存每个服务所需的启动时间int*cache;// 计算服务启动时间intcalculateStartupTime(int**matrix,intservice,intn){// 如果缓存中已有该服务的计算结果直接返回if(cache[service]!-1){returncache[service];}intmaxDependencyTime0;// 存储依赖服务的最大启动时间int*dependenciesmatrix[service];// 获取当前服务的依赖关系// 遍历依赖关系for(inti0;in;i){if(i!servicedependencies[i]!0){maxDependencyTime(maxDependencyTimecalculateStartupTime(matrix,i,n))?maxDependencyTime:calculateStartupTime(matrix,i,n);}}// 计算当前服务的启动时间包括自身启动时间cache[service]dependencies[service]maxDependencyTime;returncache[service];}intmain(){intn;scanf(%d,n);// 服务数量cache(int*)malloc(n*sizeof(int));// 动态分配缓存数组for(inti0;in;i){cache[i]-1;// 初始化缓存}int**matrix(int**)malloc(n*sizeof(int*));// 动态分配矩阵for(inti0;in;i){matrix[i](int*)malloc(n*sizeof(int));for(intj0;jn;j){scanf(%d,matrix[i][j]);// 读取矩阵数据}}intk;scanf(%d,k);// 需要查询的服务编号// 计算并输出结果printf(%d\n,calculateStartupTime(matrix,k-1,n));// 释放动态分配的内存for(inti0;in;i){free(matrix[i]);}free(matrix);free(cache);return0;}完整用例用例13 5 0 0 1 5 0 0 1 5 1 3用例23 5 0 0 1 10 1 1 0 11 2用例34 2 0 0 0 0 3 0 0 1 1 4 0 1 1 1 5 3用例45 1 0 0 0 0 0 2 0 0 0 1 1 3 0 0 1 1 0 4 0 0 0 1 1 5 5用例52 10 0 1 1 1 2用例64 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 4用例76 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 5用例85 3 0 1 0 0 0 4 0 1 0 0 0 5 0 1 0 0 0 6 0 0 0 0 0 10 3用例93 1 0 0 0 2 0 1 0 3 2用例104 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 2文章目录最新华为OD机试题目描述输入描述输出描述示例1示例2示例3示例4解题思路题意解析解题思路JavaPythonJavaScriptCGoC语言完整用例用例1用例2用例3用例4用例5用例6用例7用例8用例9用例10

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询