• 技术文章 >后端开发 >php教程

    php求正负数数组中连续元素最大值示例_php实例

    2016-06-07 17:20:46原创424
    php实现正负数数组最大子序列,要求给出数组,该数组由正负数字组成,找出该数组中连续元素组成的子数组的最大值。
    这其实得算是个背包变种吧。

    复制代码 代码如下:

    $list = array(1,-3,-5,-7,8,9,-11,5);

    $cur = 0;
    $term = 0;
    $res = 0;
    $begin = 0;

    foreach($list as $k => $v){
    $cur += $v;
    if($cur < 0){
    $cur = 0;
    $begin = $k + 1;
    }
    if($cur > $res){
    $res = $cur;
    $term = $k;
    }
    }
    $max_seq = array_slice($list, $begin, ($term - $begin) + 1);

    echo $res . ',';
    print_r($max_seq);
    //17,Array ( [0] => 8 [1] => 9 )

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:连续元素 最大值
    上一篇:PHP二维数组排序的3种方法和自定义函数分享_php实例 下一篇:PHP入门经历和学习过程分享_php实例

    相关文章推荐

    • 用PHP将女友照片转成可爱的动漫头像!• PHP 文件操作函数(专题)• PHP COOKIE设置为浏览器进程_php技巧• 剖析 PHP 中的输出缓冲_php技巧• PHP 模板高级篇总结_php技巧

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网