JavaScript实现处理器双核算法
来源:互联网 发布:打印机扫描软件 编辑:程序博客网 时间:2024/06/10 07:41
时间限制:1秒
空间限制:32768K一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。
输入描述:
输入包括两行:
第一行为整数n(1 ≤ n ≤ 50)
第二行为n个整数length[i](1024 ≤ length[i] ≤ 4194304),表示每个任务的长度为length[i]kb,每个数均为1024的倍数。输出描述:
输出一个整数,表示最少需要处理的时间输入例子:
5
3072 3072 7168 3072 1024输出例子:
9216
这里使用贪婪算法
每次取出最大的分别放入两个cpu,最后求得最久的时间
由于每个数均为1024的倍数,可以将每个数除以1024,这里未做处理
<script> var flag = !0, //判断应该放入哪一个盒子 _end = 0, //求得结果 cpuA = 0, //cpu1运行时间 cpuB = 0, //cpu2运行时间 n = 5, init = [3072,3072,7168,3072,1024]; init = init.sort(function(a,b){ return b - a; }); //从大到小排序 for(var i = 0; i < n; i++){ flag ? cpuA += init[0] : cpuB += init[0]; cpuA > cpuB ? flag = !1:flag = !0; init.splice(0,1); //将每次的最大值从init中去除 } _end = Math.max(cpuA,cpuB); console.log(_end); //输出9216 </script>
阅读全文
0 0
- JavaScript实现处理器双核算法
- CLRS 17.2核算法
- Workface通用核算项目的实现
- C++获取高斯核算法
- Javascript绑定事件处理器
- JavaScript对话框+事件处理器
- 全月平均法业务存货核算系统应如何操作
- 核算成本
- 核算成本
- 证券核算
- ETF核算
- 利润分配核算
- 综合核算
- 工作量核算
- TI双核处理器ARM+DSP如何实现协同工作
- 双核处理器,用OpenMp实现并行计算
- 双核处理器ARM+DSP如何实现协同工作
- 双核处理器ARM+DSP如何实现协同工作
- C#.Net全栈工程师之路-学习路径
- spring cloud oauth2 feign 遇到的坑
- 想让大咖看见你的性感身影么?
- java中获取当前系统时间以及过半小时之后的时间的实现
- HBase G1 GC 调优,GC时间缩短为原来的20%左右。
- JavaScript实现处理器双核算法
- String StringBuffer StringBuilber
- 破解MSCOMM32.OCX不支持大于16个
- QProcess start()方法调用外部程序路径带空格的终极解决办法.
- 修改Hyperion Planning 11.1.2.4 RMI端口
- 学习vue
- source insight注册
- 2017,我的面试复盘
- 庖丁解牛之ScrollView