`
mybwu_com
  • 浏览: 191830 次
  • 性别: 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,...

    Minimal m Sums 给定n 个整数组成的序列,现在要求将序列分割为m 段,每段子序列中的数在原序列中连续排列。如何分割才能使这m段子序列的和的最大值达到最小?

    - 目标是最小化这些子序列的和的最大值。 #### 输入输出格式 **输入**: - 第一行包含两个整数 n 和 m,分别表示序列的长度和分割的段数。 - 第二行包含 n 个整数,表示序列中的元素。 **输出**: - 输出一行,包含...

    动态规划划分最小和

    目标是最小化所有`S(i)`的最大值。 **示例说明**: 假设有一个序列`1, 2, 3, 2, 5, 4`,将其划分为三个子序列。一种划分方式为`123|25|4`,此时`S(1)=6`, `S(2)=7`, `S(3)=4`。另一种方式为`12|32|54`,此时`S(1)=...

    基于支持向量机的时间序列预测-matlab程序

    SVM通过构建最大边距超平面来划分数据,该超平面能够最大化类别之间的间隔,同时最小化误分类的风险。在非线性情况下,SVM通过核函数(如高斯核、多项式核等)将原始数据映射到高维空间,使得原本难以分离的数据变得...

    专199-TCN-BiLSTM-Attention单变量时间序列多步预测

    其中\(x_{\text{min}}\)和\(x_{\text{max}}\)分别是原始数据中的最小值和最大值。 #### 3.2 模型训练 模型训练是整个流程的核心环节。在训练过程中,需要不断地调整模型参数以最小化损失函数。常用的损失函数包括...

    基于jupyter-notebook与随机森林对时间序列数据进行回归预测

    在sklearn库中,我们可以设置如树的数量、最大特征数、最小样本分裂节点数等超参数来调整模型。 4. **训练与验证**:将预处理后的数据分为训练集和验证集,使用训练集训练随机森林模型,然后在验证集上评估模型性能...

    基于麻雀算法优化随机森林(SSA-RF)的时间序列预测,SSA-RF时间序列预测 模型评价指标包括:R2、MAE、MSE、R

    优化过程的目标是最大化R2评分,同时最小化MAE(平均绝对误差)、MSE(均方误差)和RMSE(均方根误差)等评估指标,这些指标是衡量预测模型准确性的关键工具。 R2评分是决定系数,衡量模型解释数据变异性的能力,其...

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

    与最大值最小化相反,这类问题要求最大化最小值,例如“找到一个子集,其和尽可能接近但不超过目标值,同时要求子集中最小元素的最大化”。 **4. 实数二分** 实数二分法与整数二分类似,只是在处理浮点数时需要注意...

    多目标决策(水电站水库优化调度).pptx

    - 划分调度期时段,定义决策变量及其可能值。 - 设置算法参数,如种群大小、迭代次数等。 - 多目标转化为单目标处理,处理约束条件。 - 初始化种群,生成混沌序列并编码。 - 计算适应度函数值,应用选择、交叉...

    05DivideAndConquerI-2x2.pdf

    - 使最大延迟最小化的调度问题,排序可以帮助确定最优执行顺序。 - 构建最小生成树,如Kruskal算法中利用排序选择边。 这些应用场景展示了排序算法在处理各种数据和优化算法效率方面的广泛性和灵活性。通过对分治法...

    基于卷积神经网络的时间序列预测MATLAB代码

    在时间序列预测中,CNN的独特结构使其能够捕获数据中的时空模式,尤其适用于处理如金融市场、电力消耗、天气预报等领域的预测问题。MATLAB作为一个强大的数学计算软件,提供了丰富的工具箱来支持深度学习模型的构建...

    平稳时间序列预测法PPT课件.pptx

    然后,使用最大似然估计、最小二乘法或其他方法估计模型参数。最后,通过残差分析和模型诊断检查模型的适用性和预测能力。 平稳时间序列预测法通过理解数据的内在结构和自相关性,为预测未来的趋势提供了强有力的...

    ACM算法整合

    - A*算法通常用于寻路问题,这里通过调整使其适用于第K短路问题。 - **PRIM求MST** - PRIM算法用于寻找图的最小生成树(Minimum Spanning Tree)。 - **次小生成树 O(V^2)** - 在所有生成树中找到第二小的生成树...

    DNA序列分析中的数学模型

    Fisher判别分析旨在找到一个最优的方向,使得不同类别之间的距离最大化,而同一类别内的距离最小化。贝叶斯准则基于贝叶斯定理,通过计算不同假设下的后验概率来进行分类。 在数学模型中,还可能使用聚类分析来识别...

    MATLAB智能算法案例分析源码-SVM神经网络的信息粒化时序回归预测.zip

    神经网络可以处理非线性关系,通过反向传播算法进行训练,调整权重以最小化预测误差。SVM神经网络是SVM与神经网络的结合,它利用SVM的优化策略和神经网络的并行计算能力,提高了预测性能。 信息粒化是粗糙集理论的...

    编程算法练习--没事的时候练练

    - 从未排序的部分中选出最小(或最大)的元素。 - 将其放到已排序部分的末尾。 - 重复上述步骤直到所有元素都被排序。 #### 知识点二十九:二维数组的对角线元素求和 - **描述**:对于一个3x3的二维数组,求其主...

    算法设计策略 - 07 动态规划.pdf

    - 流水作业调度:安排作业流程,以最小化完成所有作业所需的总时间。 - 图像压缩:优化图像数据以减小文件大小。 - 最大子段和:找到一系列数中和最大的连续子序列。 - 凸多边形的三角划分:将凸多边形划分为最小...

    SVM.zip_支持向量机的序列上升形式实现

    这可以通过最大化间隔(margin)并最小化误分类的代价函数来实现。然而,这个优化问题是一个非线性凸二次规划问题,直接求解非常复杂,特别是当数据集较大时。 SMO算法通过选取一对约束变量进行优化,每次迭代都...

    奇异谱迭代区间四分法在GPS坐标时间序列插补中的应用.pdf

    4. 循环判断:如果最大误差满足退出条件(如小于0.0001),则计算不同嵌入窗口M和插值阶数K对应的均方根误差,选择误差最小的组合。 文章通过对比奇异谱迭代的区间四分法与传统的拉格朗日插值法,发现前者不仅具有...

    符号数据排序.pptx

    - **选择排序**:逐个找到最小元素,并将其与当前元素交换位置。 - **插入排序**:将当前元素插入到前面已排序序列中的合适位置。 - **基于计数的排序算法**: - **基数排序**:根据符号数据的每一位进行多次...

Global site tag (gtag.js) - Google Analytics