时间:2021-05-20
本文实例讲述了C语言求连续最大子数组和的方法,是非常实用的技巧。分享给大家供大家参考。
具体实现方法如下:
#include <iostream>using namespace std;int array[] = {1, -2, 3, 10, -4, 7, 2, -5};//int array[] = {-10, -1, -2, -3, -4, -5};const int size = sizeof array / sizeof *array;int maxSubArray(int *array, int size){ int max = -(1 << 31); int sum = 0; int index = 0; while (index < size) { sum += array[index]; if (sum > max) { max = sum; cout << "max: " << max << endl; } if (sum < 0) sum = 0; index++; } return max;}int main(){ int index = maxSubArray(array, size); cout << "index: " << index << endl;}希望本文所述对大家C程序算法设计的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问题描述:一个有n个元素的数组,这n个元素可以是正数也可以是负数,求最大子数组的和。方法1:蛮力法思路:最简单也是最容易想到的方法就是找出所有子数组,然后求所有
php实现正负数数组最大子序列,要求给出数组,该数组由正负数字组成,找出该数组中连续元素组成的子数组的最大值。这其实得算是个背包变种吧。复制代码代码如下:
本文实例讲述了PHP实现求连续子数组最大和问题2种解决方法。分享给大家供大家参考,具体如下:问题描述求子数组的最大和题目描述:输入一个整形数组,数组里有正数也有
抛出问题:求一数组如l=[0,1,2,3,-4,5,-6],求该数组的最大连续子数组的和如结果为[0,1,2,3,-4,5]的和为7问题分析:这个问题很简单,直
其实大家稍微动下大脑,问题可以转化为,是求最小连续数组中的最大值,数组大小可以为1。======================================