当前位置: 首页 > news >正文

建设银行官方网站官网营销网站建设免费

建设银行官方网站官网,营销网站建设免费,线上推广的目的,美食静态网站设计论文一、题目描述 当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。 每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。…

一、题目描述

当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。

每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。

没有依赖的任务可以并行部署,优秀的员工们会做到完全并行无等待的部署。

给定一个站点部署任务项和它们之间的依赖关系,请给出一个站点的最短开站时间。

二、输入描述

第一行是任务数taskNum,第二行是任务的依赖关系数relationsNum接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为: Di Dj,表示部署任务部署完成了,部署任务j才能部署,IDi 和IDj 值的范围为: [0,taskNum)注:输入保证部署任务之间的依赖不会存在环。

三、输出描述

1个整数,表示一个站点的最短开站时间。

四、解题思路

  1. 创建map,用于存储任务之间的依赖关系,key为任务编号,value为依赖该任务的任务列表;
  2. 循环读取num数据,将依赖关系存储map;
  3. 创建一个长度为n的数组,存储每个任务的最小启动时间;
  4. 创建变量time,用于记录最短开站时间;
  5. 递归调用,计算任务的最小启动时间;
  6. 如果当前任务没有依赖,表示该任务可以立即启动,将其最小启动时间设置为1,并返回1,停止递归;
  7. 遍历当前任务依赖的任务列表,递归调用getMinTime函数来获取依赖任务的最小启动时间,取其中的最大值作为当前任务的最小启动时间minDependTime;
  8. 当前任务的最小启动时间为依赖任务的最小启动时间加1,将该值记录到timeArr数组中,并返回该值;
  9. 输出最短开站时间time;

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = Integer.parseInt(sc.nextLine());int num = Integer.parseInt(sc.nextLine());// 1、创建map,用于存储任务之间的依赖关系,key为任务编号,value为依赖该任务的任务列表Map<Integer, List<Integer>> map = new HashMap<>();// 2、循环读取num数据,将依赖关系存储mapfor (int i = 0; i < num; i++) {String line = sc.nextLine();String[] arr = line.split(" ");int left = Integer.parseInt(arr[0]);int right = Integer.parseInt(arr[1]);List<Integer> list = map.getOrDefault(left, new ArrayList<>());list.add(right);map.put(left, list);}// 3、创建一个长度为n的数组,存储每个任务的最小启动时间int[] timeArr = new int[n];// 4、创建变量time,用于记录最短开站时间int time = 0;for (int i = 0; i < n; i++) {// 5、递归调用,计算任务的最小启动时间int needTime = getMinTime(i, map, timeArr);time = Math.max(time, needTime);}// 9、输出最短开站时间timeSystem.out.println(time);
}/**** @param index 当前位置* @param map 输入的数据集合* @param timeArr 任务时间* @return*/
public static int getMinTime(int index, Map<Integer, List<Integer>> map, int[] timeArr) {List<Integer> list = map.getOrDefault(index, new ArrayList<>());// 6、如果当前任务没有依赖,表示该任务可以立即启动,将其最小启动时间设置为1,并返回1,停止递归if (list.size() == 0) {//最小启动时间timeArr[index] = 1;return 1;}int minDependTime = Integer.MIN_VALUE;// 7、遍历当前任务依赖的任务列表,递归调用getMinTime函数来获取依赖任务的最小启动时间,// 取其中的最大值作为当前任务的最小启动时间minDependTimefor (int taskNum : list) {// 通过递归取最小启动时间if (timeArr[taskNum] == 0) {timeArr[taskNum] = getMinTime(taskNum, map, timeArr);}minDependTime = Math.max(minDependTime, timeArr[taskNum]);}// 8、当前任务的最小启动时间为依赖任务的最小启动时间加1,将该值记录到timeArr数组中,并返回该值int needTime = minDependTime + 1;timeArr[index] = needTime;return needTime;
}

六、效果展示

1、输入

5
5
0 4
1 2
1 3
2 3
2 4

2、输出

3

3、说明

有5个部署任务项,5个依赖关系,如下图所示。我们可以先同时部署任务项0和任务项1,然后部署任务项2,最后同时部署任务项3和任务项4。最短开站时间为3。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

http://www.mnyf.cn/news/44122.html

相关文章:

  • 线上培训网站开发有网站模板怎么建站
  • 百度翻译api wordpress天津百度seo排名优化软件
  • 网站开发毕业设计答辩优化大师的三大功能
  • 做网站 公司互联网营销策划
  • 伊春网站建设百度客服电话
  • wordpress网站标题自定义免费seo网站的工具
  • 做网站怎么接活软考培训机构排名
  • 男女做那个视频网站淘宝关键词查询
  • 政府网站建设要点推广赚钱一个2元
  • 亿藤互联网站建设开发省委副书记
  • 龙华网站建设推广平台如何优化百度seo排名
  • 信息网站建设关键词挖掘长尾词
  • 怎样用php做动态网站西安百度竞价开户
  • 国内外网站开发技术有哪些网络营销的主要手段
  • 有哪些做鸭子网站联合早报 即时消息
  • 网站视频是什么软件做的站长工具seo综合查询广告
  • b s架构网站开发seo的公司排名
  • 万寿路网站建设会计培训班一般多少钱
  • 沈阳建设工程交易中心windows10优化软件
  • 自已的电脑怎么做网站网站源码
  • 网站建设综合中国科技新闻网
  • 个人做网站怎么盈利湖北最新消息
  • 合肥网站建站小红书kol推广
  • 局域网内部如何做网站国际要闻
  • 婚庆网站名字品牌推广策略有哪几种
  • 鹤壁专业做网站公司蚌埠seo外包
  • 阿里巴巴网站推广怎么做自己怎样开网站
  • wordpress直接访问站点软文广告示范
  • 做ppt的兼职网站深圳seo推广
  • mini主机做网站服务器国内网络营销公司排名