首页 > 其他分享 >1.13科目一专业级

1.13科目一专业级

时间:2023-01-19 18:56:04浏览次数:42  
标签:city 1.13 专业级 故障 members 充电 排序 节点 科目

第一题:部门排序

题目描述:每个部门有所在城市(city)、部门名称(departmentName)、成员数量(members)三个属性,选出每个city members前5位的department,members相同的以departmentName字典序小的优先。输出结果按city+departmentName排序。

 

题解:

纯排序题,具体步骤如下:

1. 将原始数据按city正序+members逆序+departmentName正序排序(C语言的话使用qsort+自定义compare函数实现)

2. 遍历排序后结果,将每个city members前5位的department选出保存到resultBuf

3. 由于排序策略已经保证了members相同的department字典序小的在前,因此无需考虑members相同的问题

4. 最后按city正序+departmentName正序排序resultBuf即为最终结果(C语言的话使用qsort+自定义compare函数实现)

 

 

 

 

 

 

第二题:故障自检

题目描述:给定一个图数据结构,图中每个节点分为普通节点和关键节点两种,其中某个节点发生故障,故障节点会将故障信息传递给其下所有子节点,需要自检的节点为:

1. 故障节点本身

2. 收到故障信息的关键节点

3. 收到故障信息的关键节点其上所有父节点

 

 

题解:

map构造,按原始数据分别构造一个childList(包含故障节点p的全部子节点)和一个parentMap(包含某个节点的全部父节点),其中childList的构造基于层次遍历(对于此题,只需基于故障节点p做一次层次遍历即可),parentMap的构造直接遍历原始数据即可,然后按题目描述模拟实现即可,最终结果按节点id正序排序输出。注意,建议将原始数据都以map的形式存储和访问,否则容易超时。

 

 

 

第三题:电瓶车充电

题目描述:给定电瓶车最大充电电量energyMax,现在要骑电瓶车从公司回家,途中有n个充电桩,第i个充电桩充一个energy的耗时为charges[i],第i个充电桩到第i+1个充电桩需要消耗costs[i]的电量,求最小充电时间,其中初始电量energyNow为0。

 

题解:

贪心,具体策略如下:

1. 假设在第i个充电桩充满电(i初始为0),找到充满电的情况下能到达的最远距离j(如果i==j则无法到家,返回-1)

2. 找到i+1到j充电桩中(包含i+1和j)charge最小的那个充电桩,标记为chargeMin,序号标记为chargeMinIndex

3. 比较charges[i]和chargeMin

4. 若charges[i]<=chargeMin,则直接在当前i充电桩把电量充满,然后把车子开到chargeMinIndex(即在当前节点充电最划算)

5. 若charges[i]>chargeMin,则从i开始向右遍历找到第一个charge小于i的节点j(最差情况是j==chargeMinIndex),将电量充到刚好可以到达j,然后把车子开到j(即去j充电更划算)

6. 重复上述策略,直到回家为止

 

两个边界条件处理如下:

1. 如果在第i个充电桩充满电的情况下已经足够回家,则在把energyMax改为刚好够回家的电量即可,也就是不需要再充满(保证到家时不会有电量浪费)

2. 如果i==n-1(即最后一个充电桩),则在i把电充到刚好够回家即可

PS:电瓶车扔了吧,走路回家都比这快

 

标签:city,1.13,专业级,故障,members,充电,排序,节点,科目
From: https://www.cnblogs.com/gongxianjin/p/17061972.html

相关文章

  • 算法--2023.1.13
    1.力扣88--合并两个有序数组classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){intcur=m+n-1;intp=m-1,q=n......
  • 2023.1.13
    A.FillTheBagLinkhttps://codeforces.com/contest/1303/problem/DStatement给定一个正整数\(n\)和\(m\)个数\(a_i\),保证所有\(a_i\)都是\(2\)的整数次幂。......
  • 【1.7-1.13】博客精彩回顾
    一、优秀文章推荐1.​​使用Bind提供域名解析服务​​2.​​场景编程集锦-你是谁?​​3.​​那些炫酷的CSS文字效果之诗词《兔》​​4.​​嵌入式:人机交互接口设计详解​​......
  • noi 1.13编程基础之综合应用 02:不吉利日期
    总时间限制:1000ms内存限制:65536kB描述在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年......
  • 完整的科目名称(Excel函数集团)
    递规之三——完整的科目名称一文中的示例,如果不用Lambda,倒也不是就完全无解,公式可以写成:=TEXTJOIN("/",,IFERROR(XLOOKUP(--LEFT(A2,LEN(A2)-{4,2,0}),A:A,B:B),""))......
  • 递规之三——完整的科目名称(Excel函数集团)
    使用了递规的Lambda,参数必须是序列数吗?当然不是!来看看这个例子:根据科目代码和科目名称,用公式完成完整的科目名称 自定义的名称是Itm,Itm的参数是Lambda中定义的参数x,......
  • Studio One6官方中文版,2023年最新Studio One6专业级数字音乐工作站功能介绍
    StudioOne6是一款强大的音乐编曲软件,可以帮助您使用灵活的和弦轨道功能实现音乐创作。StudioOne6是一款易上手的专业级数字音乐工作站。从最简单的音频、音轨处理和编曲......
  • docker 1.13版本修改默认存储路径及添加私有registry
    1、服务器安装dockeryuminstalldocker-y12、修改配置文件方法1:编辑`/etc/sysconfig/docker`文件修改`OPTION`选项添加--insecure-registry=10.0.17.205:4000方法2......
  • EBS: 编译科目:APP-FND-00668: 用于在此字段中定义弹性域的数据可能不一致
    编译科目提示错误。 APP-FND-00668: 用于在此字段中定义弹性域的数据可能不一致。请通知您的系统管理员,函数: FDFRKS 无法找到应用产品 = &APPL, 代码 = GL# 以......
  • 汇率差额科目不完整
       当外汇货币科目,在清账(F-04)的时候,因为汇率的变动(SAP的汇率,一般一个月只维护1~3次),会产生差异,需要将差异计入到对应的科目中。OB09配置。  OB09界面:维护在亏......