`
mybwu_com
  • 浏览: 179339 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

序列划分-使其最大值最小化

 
阅读更多
问题:给指定的序列划分为3份,取每份的最大值,再从3份最大值取出最大的max。如何划分,可以使max最小?
输入:1,2,3,4,5
划分:1,2,3 | 4 |5
最大值为6


思路:两个指针p1,p2,p1索引∈[0,len-2),p2索引∈[p1+1,len-1),最后一份索引范围[p2+1,len-1]


实现:


Array.prototype.sum = function(i,j){
i = i == undefined ? 0 : i;
j = j == undefined ? 0 : j;
var s = 0;
for(var k = i;k <=j ;k++){
s+=this[k];
}
return s;
}




function f(arr){


var result = {val:undefined,p1:"",p2:""};


for(var p1 = 0;p1<arr.length-2;p1++){
var s1 = arr.sum(0,p1);
for(var p2 = p1+1;p2<arr.length-1;p2++){
var s2 = arr.sum(p1+1,p2);
var s3 = arr.sum(p2+1,arr.length-1);


var min = Math.max(Math.max(s1,s2),s3);
if(p1==2){
console.log("min : "+min +",p1:"+p1+",p2:"+p2+",s2:"+s2+",s3:"+s3);
}


if(!result.val || result.val > min){result.val = min;result.p1 = p1;result.p2=p2;}


}
}
return result;
}


console.log(f(new Array(1,2,3,4,5)));


分享到:
评论

相关推荐

    动态规划划分最小和_把一个包含n个正整数的序列划分成m个连续的子序列,每个整数刚好属于一个序列。设-专业指导代码类资源

    把一个包含n个正整数的序列划分成m个连续的子序列,每个整数刚好属于一个序列。设第i个序列的各数之和是S(i)。要求:让所有的S(i)的最大值尽量小。例如:序列1,2,3,2,5,4划分成3个序列的最优方案为123|25|4,...

    算法竞赛专题解析--二分法三分法1

    2.1 基本形式 2 2.3 简单例题 4 3.1 最大值最小化(最大值尽量小)5 3.1.1 序列划分问题5 3.1.2 通往奥格瑞玛的道路6 3.2 最小值

    Data-Mining培训资料.docx

    这时,只有前者是有效地信息,因此删除向后引用得到的每个子序列都是从访问起始点开始的最大向前引用。第二,获取最大的引用序列。第三,确定最大引用序列。 Data-Mining培训资料全文共7页,当前为第2页。关联分析...

    〖程序设计基础〗练习题3及答案

    29.选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )。 A)最大的 B)最小的 C)任意的...

    数据挖掘18大算法实现以及其他相关经典DM算法

    期望最大化算法,可以拆分为2个算法,1个E-Step期望化步骤,和1个M-Step最大化步骤。他是一种算法框架,在每次计算结果之后,逼近统计模型参数的最大似然或最大后验估计。详细介绍链接 Apriori Apriori算法是关联...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    Oracle建议我们自定义自己的角色,使我们更加灵活方便去管理用户  创建角色 SQL&gt; create role admin;  授权给角色 SQL&gt; grant connect,resource to admin;  撤销角色的权限 SQL&gt; revoke connect from admin; ...

    算法导论(part1)

    9.1 最小值和最大值 9.2 以期望线性时间做选择 9.3 最坏情况线性时间的选择 第三部分 数据结构 引言 第10章 基本数据结构 10.1 栈和队列 10.2 链表 10.3 指针和对象的实现 10.4 有根树的表示 第11...

    常用算法代码

    | 有上下界的最小(最大)流 12 | DINIC 最大流 O(V^2 * E) 12 | HLPP 最大流 O(V^3) 13 | 最小费用流 O(V * E * F) 13 | 最小费用流 O(V^2 * F) 14 | 最佳边割集 15 | 最佳点割集 15 | 最小边割集 15 | 最...

    计算机二级公共基础知识

    在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。 完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只...

    Python Cookbook

    7.2 使用pickle和cPickle模块序列化数据 277 7.3 在Pickling的时候压缩 280 7.4 对类和实例使用cPickle模块 281 7.5 Pickling被绑定方法 284 7.6 Pickling代码对象 286 7.7 通过shelve修改对象 288 7.8 使用...

    程序设计基础答案

    选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由大到小排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )。 A)最大的 B)最小的 C)任意...

    算法导论(part2)

    9.1 最小值和最大值 9.2 以期望线性时间做选择 9.3 最坏情况线性时间的选择 第三部分 数据结构 引言 第10章 基本数据结构 10.1 栈和队列 10.2 链表 10.3 指针和对象的实现 10.4 有根树的表示 第11...

    Excel数据分析与图表应用案例精粹_光盘

     4.1.9 设置数据轴的最小值和最大值 62  4.1.10 处理丢失数据 63  4.1.11 添加趋势线 65  4.1.12 更改数据系列的显示方式 67  4.2 美化图表 67  4.2.1 美化图表标题 67  4.2.2 美化数据系列 69  4.2.3 在...

    语音识别的MATLAB实现

    语音信号经过预处理,它的每个样值均可由过去若干个样值的线性组合来逼近,同时可以采用使实际语音抽样与线性预测抽样之间的均方差最小的方式,来解出一组预测的系数 。这就是LPC所提取出来的信号的初始特征。 预测...

    超级有影响力霸气的Java面试题大全文档

     Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别...

    java 面试题 总结

    Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别...

    《计算机操作系统》期末复习指导

    操作系统使整个计算机系统实现了高效率和高度自动化。 2、操作系统的生成和五大类型 生成:产生最适合自己工作环境的OS内核(kernel)。既方便用户,又使系统开销尽量小;生成的配置过程如UNIX中newconfig...

Global site tag (gtag.js) - Google Analytics