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

岳阳网站开发服务推广运营平台

岳阳网站开发服务,推广运营平台,做网站技术服务合同,佛山中小企业网站制作一、题目描述 某公司研发了一款高性能AI处理器#xff0c;每台物理设备具备8颗AI处理器#xff0c;编号分别为0、1、2、3、4、5、6、7。 编号0~3的处理器处于同一链路中#xff0c;编号4~7的处理器处于另外一个链路中#xff0c;不同链路中的处理器不能通信#xff0c;如…一、题目描述 某公司研发了一款高性能AI处理器每台物理设备具备8颗AI处理器编号分别为0、1、2、3、4、5、6、7。 编号0~3的处理器处于同一链路中编号4~7的处理器处于另外一个链路中不同链路中的处理器不能通信如下图所示。 现给定服务器可用的处理器编号数组array以及任务申请的处理器数量num找出符合下列亲和性调度原则的芯片组合如果不存在符合要求的组合则返回空列表。 亲和性调度原则 如果申请处理器个数为1则选择同一链路剩余可用的处理器数量为1个的最佳其次是剩余3个的为次佳然后是剩余2个最后是剩余4个。如果申请处理器个数为2则选择同一链路剩余可用的处理器2个的为最佳其余是剩余4个最后是剩余3个。如果申请处理器个数为4则必须选择同一链路剩余可用的处理器数量为4个。如果申请处理器个数为8则申请节点所有8个处理器。 提示 任务申请的处理器数量只能是1、2、4、8。编号0~3的处理器处于一个链路编号4~7的处理器处于另外一个链路。处理器编号唯一且不存在相同编号处理器。 二、输入描述 输入包含可用的处理器编号数组array以及任务申请的处理器数量num两个部分。 第一行为array第二行为num。例如 [0, 1, 4, 5, 6, 7] 1表示当前编号为0、1、4、5、6、7的处理器可用。任务申请1个处理器 数据范围 0 array.length 8 0 array[i] 7 num in [1, 2, 4, 8]三、输出描述 输出为组合列表当array[0,1,4,5,6,7]、num1时输出为[[0], [1]] 四、示例描述 1.示例一 输入 [0, 1, 4, 5, 6, 7] 1输出 [[0], [1]]说明 根据第一条亲和性调度原则在剩余两个处理器的链路(0,1,2,3)中选择处理器。由于只有0和1可用则返回任意一颗处理器即可。 2.示例二 输入 [0, 1, 4, 5, 6, 7] 4输出 [[4, 5, 6, 7]]说明 根据第三条亲和性调度原则必须选择同一链路剩余可用的处理器数量为4个的环。 五、解题思路 将输入的数组分成两组第一组数字小于4第二组数字大于4列出相关逻辑 当num为1时根据题意传入优先级[1,3,2,4]遍历优先级返回子序列列表当num为2时根据题意传入优先级[2, 4, 3]考虑到排列组合使用python内置的itertools包中的combinations函数获取子序列之后整理成list格式返回结果列表当num为4时根据题意如果有一组数字满足条件返回该组的所有处理器编号当num为8时根据题意如果两组数字都满足条件返回所有处理器编号 六、解题代码 from itertools import combinationsdef solve_method(arr, num):# 根据条件将数组分为 first 和 second 两部分first [n for n in arr if n 4]second [n for n in arr if n 4]first_nums len(first)second_nums len(second)result []# 根据 num 值来选择调用不同的函数if num 1:result.extend(cpu1(first, first_nums, second, second_nums))elif num 2:result.extend(cpu2(first, first_nums, second, second_nums))elif num 4:if first_nums 4:result.append([n for n in range(4)])if second_nums 4:result.append([n for n in range(4, 8)])elif num 8:if first_nums 4 and second_nums 4:result.append([n for n in range(8)])return resultdef cpuN(first, first_nums, second, second_nums, priority, k) - list:# 生成组合优先级由 priority 控制cpus []is_fit Falsefor p in priority:if p first_nums:cpus.extend([list(n) for n in combinations(first, k)])is_fit Trueif p second_nums:cpus.extend([list(n) for n in combinations(second, k)])is_fit Trueif is_fit:breakreturn cpusdef cpu1(first, first_nums, second, second_nums) - list:# cpu1 调用 cpuN 进行组合计算return cpuN(first, first_nums, second, second_nums, [1, 3, 2, 4], 1)def cpu2(first, first_nums, second, second_nums) - list:# cpu2 调用 cpuN 进行组合计算return cpuN(first, first_nums, second, second_nums, [2, 4, 3], 2)if __name__ __main__:# 测试用例验证assert solve_method([0, 1, 4, 5, 6, 7], 4) [[4, 5, 6, 7]]assert solve_method([0, 1, 4, 5, 6, 7], 1) [[0], [1]]assert solve_method([0, 1, 2, 4, 5], 2) [[0, 1], [0, 2], [1, 2], [4, 5], [4, 6], [5, 6]]
http://www.w-s-a.com/news/155330/

相关文章:

  • 网站开发得多长时间湖南建设人力资源网证书查询
  • 论坛网站开发网络营销是什么时候产生的
  • 帮人做网站赚钱无忧软文网
  • 做网站要不要营业执照重庆网站优化seo公司
  • 学院宣传网站建设简介做网站没灵感
  • 网站建设终稿确认书网站意义学校
  • 3小时网站建设平台专业制作教学课件
  • 曲阜网站建设百度开户现货黄金什么网站可以做直播
  • 比较好的企业建站平台小程序开发外包该注意些什么
  • 建行官网官网网站吗二次元风格wordpress模板
  • 怎样开通自己的网站网址导航哪个主页最好
  • 大良o2o网站建设详情页设计说明怎么写
  • 您与此网站之间建立的连接不安全汽车cms系统是什么意思
  • 有没有做logo的网站企业网站的内容营销
  • 哈尔滨做企业网站怎么做网站自动响应
  • 网站建设硬件和软件技术环境配置签约做网站模板
  • 教育网站建设的素材手机app制作流程
  • 免费行情软件网站大全下载网站备案查询
  • flex网站模板wordpress实时预览
  • 建设银行网站模板为什么企业要建设自己的企业文化
  • 网站建设必知免费手机网站建站系统
  • ssh可以做wap网站么嘉兴seo排名
  • 站内优化包括哪些帝国做企业网站
  • 做网站seo赚钱吗网络维护和故障维修
  • 企业网站可以自己做摄影网站开发背景怎么写
  • 网站百度指数seo最好的工具
  • 宝安专业网站建设推荐设计感强的网站
  • 网站建设 6万元北京知名的品牌设计公司
  • 网站建设的总体需求是什么vmware 下wordpress
  • 光谷网站建设请检查网络