Advertisement

贪心算法用于解决一组特殊数列的极差计算问题(快速排序+递归)

阅读量:

特殊数列的极差问题

问题描述:
本关任务:将由 n 个正整数构成的序列,按照如下方式进行处理:每次从序列中移除两个数值 a 与 b,并将 a×b+1 这一数值重新加入序列。持续执行该过程,直到序列中仅剩下一个数值。

在所有按照上述操作方式最终得到的结果中,最大的值记为 max,最小的值记为 min,那么该序列的极差定义为 M = max - min,请利用贪心算法设计程序并输出其极差。

测试输入:

复制代码
    7    //输入7(n)个整数
    3    //此行及以下为具体的每个数据
    5
    7
    9
    11
    13
    15
    
    
      
      
      
      
      
      
      
      
    
复制代码
    Max=max-min=2221298-2038489=182809
    
    
      
    

鉴于贪心算法在本题中具有适用性,我们可以对如1、2、3这类数组进行简要分析,发现若取其中最大的两个数值相乘后加1,再将结果重新放入数组中,重复该过程,最终可获得最大值max;同理,若选取最小的两个数值进行相同操作,则可得到最小值min。
具体实施步骤如下:
首先对数组进行排序,随后每次取出最大的

全部评论 (0)

还没有任何评论哟~