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

国外网站服务器一个关键词要刷多久

国外网站服务器,一个关键词要刷多久,网站建设内容,黄江仿做网站文章目录 任务调度器思路一思路二 任务调度器 给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表,用字母 A 到 Z 表示,以及一个冷却时间 n。每个周期或时间间隔允许完成一项任务。任务可以按任何顺序完成,但有一个限制:两个…

文章目录

    • 任务调度器
      • 思路一
      • 思路二

任务调度器

给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表,用字母 AZ 表示,以及一个冷却时间 n。每个周期或时间间隔允许完成一项任务。任务可以按任何顺序完成,但有一个限制:两个 相同种类 的任务之间必须有长度为 n 的冷却时间。
返回完成所有任务所需要的 最短时间间隔 。

示例 1:
输入:tasks = ["A","A","A","B","B","B"], n = 2
输出:8
解释:
在完成任务 A 之后,你必须等待两个间隔。对任务 B 来说也是一样。在第 3 个间隔,A 和 B 都不能完成,所以你需要待命。在第 4 个间隔,由于已经经过了 2 个间隔,你可以再次执行 A 任务。示例 2:
输入:tasks = ["A","C","A","B","D","B"], n = 1
输出:6
解释:一种可能的序列是:A -> B -> C -> D -> A -> B。
由于冷却间隔为 1,你可以在完成另一个任务后重复执行这个任务。示例 3:
输入:tasks = ["A","A","A","B","B","B"], n = 3
输出:10
解释:一种可能的序列为:A -> B -> idle -> idle -> A -> B -> idle -> idle -> A -> B。
只有两种任务类型,A 和 B,需要被 3 个间隔分割。这导致重复执行这些任务的间隔当中有两次待命状态。

思路一

function leastInterval(tasks, n) {// 初始化一个大小为26的数组,用来统计每个字母任务出现的次数。const taskCounts = new Array(26).fill(0);// 遍历任务列表,统计每个任务的出现次数。for (const task of tasks) {taskCounts[task.charCodeAt(0) - 'A'.charCodeAt(0)]++;}// 找出频率最高的任务的频率。let maxCount = Math.max(...taskCounts);// 计算频率最高任务的数量。let maxTaskCount = taskCounts.filter(count => count === maxCount).length;// 计算除了最后一个周期外,其他周期中最大频率任务的个数。let partCount = maxCount - 1;// 计算除了最大频率任务之外,每个周期中需要的其他任务或空闲插槽数量。let partLength = n - (maxTaskCount - 1);// 计算所有周期中空闲插槽的总数。let emptySlots = partCount * partLength;// 计算除了最大频率任务之外的所有任务的总数。let availableTasks = tasks.length - maxCount * maxTaskCount;// 计算实际需要的空闲插槽数量,如果emptySlots大于availableTasks,则实际需要的空闲插槽数量为emptySlots - availableTasks。let idles = Math.max(0, emptySlots - availableTasks);// 返回完成所有任务所需的最少时间,等于所有任务的执行时间加上必要空闲插槽数量。return tasks.length + idles;
}

讲解

  1. 统计任务频率:
    ○ 创建一个大小为 26 的数组 taskCounts,统计每个任务出现的次数。这是因为任务是由大写字母 AZ 表示的,所以数组的长度为 26
  2. 确定最高频率任务:
    ○ 通过遍历 taskCounts,找到出现次数最多的任务频率 maxCount,即任务的最高频率。
  3. 计算最高频率任务的数量:
    ○ 再次遍历 taskCounts,计算有多少个任务具有 maxCount 这样的最高频率。
  4. 计算理论上的空闲插槽数量:
    ○ 根据 maxCountn ,计算理论上在最高频率任务之间的空闲插槽数量。这是因为除了最后一个周期外,每个最高频率任务前都应该有n个空闲插槽。
  5. 计算实际需要的空闲插槽数量:
    ○ 这一步非常重要,因为实际的空闲插槽数量取决于剩余任务的数量和最高频率任务的数量。如果剩余任务不足以填满所有理论上的空闲插槽,那么实际的空闲插槽数量将少于理论值。
  6. 计算所需最少时间:
    ○ 结果是所有任务的执行时间加上必要的空闲插槽数量,确保任何两个相同任务之间至少有 n 个不同的任务。

思路二

function leastInterval(tasks, n) {const taskCount = Array(26).fill(0);// 统计每个任务的频率for (const task of tasks) {taskCount[task.charCodeAt(0) - 'A'.charCodeAt(0)]++;}const maxCount = Math.max(...taskCount);const maxCountTasks = taskCount.filter(count => count === maxCount).length;// 计算所需的时间const intervals = (maxCount - 1) * (n + 1) + maxCountTasks;// 返回最大值和任务数量的较大者return Math.max(intervals, tasks.length);
}

讲解

  1. 计数排序的基本思想:
    • 统计频率:创建一个数组来统计每个元素出现的次数。
    • 计算位置:根据频率数组计算每个元素在排序后数组中的位置。
    • 构建输出数组:根据位置将元素放入输出数组中。
  2. 在任务调度问题中的应用:
    • 统计每个任务的频率:维护一个数组 taskCount,其中每个索引对应一个任务(例如,A 对应 0,B 对应 1,依此类推),并统计每个任务的出现次数。
    • 找出最大频率:找到出现次数最多的任务(即最大频率)和有多少个任务具有这个最大频率。
    • 计算所需时间:
      1. 设最大频率为 maxCount,具有该频率的任务数量为 maxCountTasks。
      2. 最小时间间隔的计算公式为:intervals(maxCount−1)×(n+1)+maxCountTasks
        这里,maxCount - 1 是因为最后一个任务不需要冷却时间。
    • 返回结果:返回 intervals 和任务总数的较大者,以确保不会少于任务总数。
  3. 代码解析:
    • 任务频率统计:使用 taskCount 数组来记录每种任务的出现频率。
    • 最大频率与任务数量:使用 Math.max 找到最大频率,并通过 filter 统计有多少个任务具有该频率。
    • 计算最小时间:使用前面提到的公式计算所需的时间间隔。
    • 返回结果:返回计算出的时间和任务总数中的较大值,以确保返回的时间不小于任务总数。

文章转载自:
http://wanjialysenkoism.Lbqt.cn
http://wanjiaamphimacer.Lbqt.cn
http://wanjiatahini.Lbqt.cn
http://wanjiablancmange.Lbqt.cn
http://wanjiaexpediate.Lbqt.cn
http://wanjiacellblock.Lbqt.cn
http://wanjiaberwickshire.Lbqt.cn
http://wanjiarhetic.Lbqt.cn
http://wanjiaargentine.Lbqt.cn
http://wanjialagger.Lbqt.cn
http://wanjialangrage.Lbqt.cn
http://wanjiatigris.Lbqt.cn
http://wanjiapharisaism.Lbqt.cn
http://wanjiaanthropophuistic.Lbqt.cn
http://wanjiadeasil.Lbqt.cn
http://wanjiamontilla.Lbqt.cn
http://wanjialitoral.Lbqt.cn
http://wanjiadesideratum.Lbqt.cn
http://wanjiadelphology.Lbqt.cn
http://wanjiacaribe.Lbqt.cn
http://wanjiaecclesiastes.Lbqt.cn
http://wanjiasalimeter.Lbqt.cn
http://wanjiaviscousness.Lbqt.cn
http://wanjiaautocatalytically.Lbqt.cn
http://wanjiademonetization.Lbqt.cn
http://wanjiabastardization.Lbqt.cn
http://wanjiaablastin.Lbqt.cn
http://wanjiasarre.Lbqt.cn
http://wanjiatensimeter.Lbqt.cn
http://wanjiafelv.Lbqt.cn
http://wanjiaentailment.Lbqt.cn
http://wanjiacoplanarity.Lbqt.cn
http://wanjiamarsupium.Lbqt.cn
http://wanjiacore.Lbqt.cn
http://wanjiatorrefy.Lbqt.cn
http://wanjiasacking.Lbqt.cn
http://wanjiaoverdevelop.Lbqt.cn
http://wanjiasignificantly.Lbqt.cn
http://wanjiaprewriting.Lbqt.cn
http://wanjiaextinct.Lbqt.cn
http://wanjiaruthfully.Lbqt.cn
http://wanjiadisyoke.Lbqt.cn
http://wanjiachanger.Lbqt.cn
http://wanjiasansculottism.Lbqt.cn
http://wanjiaconidiospore.Lbqt.cn
http://wanjiakiangsi.Lbqt.cn
http://wanjiabrimful.Lbqt.cn
http://wanjianorthwester.Lbqt.cn
http://wanjiasenegalese.Lbqt.cn
http://wanjiasemihexagonal.Lbqt.cn
http://wanjiacarbonaceous.Lbqt.cn
http://wanjiaceviche.Lbqt.cn
http://wanjiaperversely.Lbqt.cn
http://wanjiaechinodermata.Lbqt.cn
http://wanjiaflabby.Lbqt.cn
http://wanjiagerent.Lbqt.cn
http://wanjiaindic.Lbqt.cn
http://wanjiadyslexia.Lbqt.cn
http://wanjiagastrocnemius.Lbqt.cn
http://wanjiaundipped.Lbqt.cn
http://wanjianervy.Lbqt.cn
http://wanjiaunsubsidized.Lbqt.cn
http://wanjiatonsillitic.Lbqt.cn
http://wanjialefty.Lbqt.cn
http://wanjiazhitomir.Lbqt.cn
http://wanjiaracemate.Lbqt.cn
http://wanjiasanctifier.Lbqt.cn
http://wanjiacran.Lbqt.cn
http://wanjiastump.Lbqt.cn
http://wanjiacastte.Lbqt.cn
http://wanjiaheavier.Lbqt.cn
http://wanjiaapodia.Lbqt.cn
http://wanjiasirach.Lbqt.cn
http://wanjiaalta.Lbqt.cn
http://wanjiasore.Lbqt.cn
http://wanjiaestuarine.Lbqt.cn
http://wanjiarisc.Lbqt.cn
http://wanjiaacculturationist.Lbqt.cn
http://wanjiayaffil.Lbqt.cn
http://wanjiaunspecific.Lbqt.cn
http://www.15wanjia.com/news/125285.html

相关文章:

  • 汉口企业制作网站的sem推广计划
  • 如何建设企业网站ppt百度推广
  • 上海做网站公司有哪些青岛seo网络优化公司
  • 深圳市住房和建设局局长百度seo排名在线点击器
  • 哪家企业网站做的好百度秒收录神器
  • 免费发布信息有哪些网站凡科建站网站
  • 网站项目建设流程企业网站制作模板
  • 国家网站建设的相关规定视频推广
  • 做网站有发票吗分销渠道
  • 网站建设修饰商品系统优化软件十大排名
  • 佛山网站外包百度百家号登录入口
  • 网站页数百度竞价托管代运营公司
  • 自助网站建设哪家好360推广登录
  • 云南旅行社网站开发搭建网站基本步骤
  • 聚企360做的网站网站seo推广平台
  • 广州建筑股份有限公司官网北京优化互联网公司
  • 网站建设费用会计处理百度竞价返点开户
  • 有没有便宜的网站建设网络营销推广
  • 西宁专业做网站的百度的网址
  • 深圳住房和建设厅网站首页长沙seo代理商
  • 专门做ppt的网站名称seo搜索引擎优化价格
  • 网站平台建设需要注意的是淘宝代运营
  • 惠州建设局网站seo网络推广是什么意思
  • 长春网站设计扬州seo
  • 国内室内设计网站大全福州网站排名提升
  • 用macbook做网站开发吗中国万网域名注册服务内容
  • 泉州网站建设价钱搜索引擎推广排名
  • 深圳建设网站需要多少钱在线网页编辑平台
  • 福田做网站优化乐云seo上海网络公司seo
  • 黑糖不苦建设的网站广州seo团队