PHP求最大子序列和的算法实现
发布时间:2023-11-15 04:17:28
标签:最大子序列
<?php
//作者:遥远的期待
//QQ:15624575
//算法分析:1、必须是整数序列、2、如果整个序列不全是负数,最大子序列的第一项必须是正数,否则最大子序列后面的数加起来再加上第一项的负数,其和肯定不是最大的;3、如果整个序列都是负数,那么最大子序列的和是0;
//全负数序列很简单,不举例
$arr=array(4,-3,5,-2,-1,2,6,-2);
function getmaxsum($arr){
$thissum=0;
$maxsum=0;
$start=0;//记录子序列的起始下标
$end=0;//记录子序列的结束下标
for($i=0;$i<count($arr);$i++){
$thissum+=$arr[$i];//取得当前子序列的和
if($thissum>$maxsum){//如果当前子序列的和大于当前最大子序列的和
$maxsum=$thissum;//改变当前最大子序列的和
$end=$i;
}else if($thissum<0){//如果当前子序列的和小于0,则把下一个元素值假定为最大子序列的第一项,这里可以保证最大自序列的第一项一定是正数
$thissum=0;//前提这个序列不全是负数
$start=$i+1;
}
}
$parr=array($start,$end,$maxsum);
return $parr;
}
list($start,$end,$maxsum)=getmaxsum($arr);
echo '最大子序列是:';
for($i=$start;$i<=$end;$i++){
echo $arr[$i].' ';
}
echo '<br>';
echo '最大子序列的和是'.$maxsum;
?>


猜你喜欢
- 本文实例讲述了Python实现获取本地及远程图片大小的方法。分享给大家供大家参考,具体如下:了解过Pillow的都知道,Pillow是一个非
- Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 :
- ##通过sqlcmd执行sql文件由于sql文件过大,超过了100M,再数据库的窗口执行,结果超出内存了,对于特别大的sql文件可以使用sq
- 一、数据库备份种类按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下:1.1完全备份这是大多数人常用的方式,它可以备份整个
- 什么是WaitGroupsWaitGroups是同步你的goroutines的一种有效方式。想象一下,你和你的家人一起驾车旅行。你的父亲在一
- Python编程时,经常需要跳过第一行读取文件内容。简单的做法是为每行设置一个line_num,然后判断line_num是否为1,如果不等于
- 1、设置web.config文件。以下为引用的内容:<system.web> ...... <globalization
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 注:本文只讨论技术不涉及商业,如有侵权请告知,未经本人同意转载后果自负!本文是通过浏览器端ajax,node端request-json进行爬
- 前言酷狗、网抑云和 QQ 音乐都有桌面歌词功能,这篇博客也将使用 pyqt 实现桌面歌词功能,效果如下图所示:代码实现桌面歌词部件 
- 加载1个或多个要素<template> <div id="map" style="
- 先利用pip安装pymssql库pip install pymssql具体连接、测试代码:# server默认为127.0.0.1,如果打开
- 如果你用ODBC connection (DSN or DSN-less)来访问远端的(UNC path)数据库, OLEDB会出现以下错误
- 负责为网页编程语言提供标准化服务的W3C组织(World Wide Web Consortium)近日开始修改超文本标记语言的定义,计划为该
- python 的PIL安装是一件很头疼的的事, 如果你要在python 中使用图型程序那怕只是将个图片从二进制流中存盘(例如使用Scrapy
- 一、直接连接,不封装到工具类中,主要步骤:先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面)
- 本文实例讲述了JavaScript设计模式之原型模式。分享给大家供大家参考,具体如下:从设计模式的角度讲,原型模式是用于创建对象的一种模式,
- Python获取多线程返回结果在 Python 的多线程中,有时候我们会需要每一个线程中返回的结果。然而,在经过我的多番尝试、以及网上各种博
- 一、前言前几天需要划分数据集,就写了一个小demo去完成这个任务。随机划分图片数据集任务描述:我的所有图片保存在同一个文件夹里,需要随机将图
- 前言由于数据库每天都用来存储越来越多的信息,因此这些也是每个Django项目中的关键组件。 因此了解它们的工作方式非常重要。当然,我无法解释