Algorithm One Day One--求输入的数组其子数组的最大值
2015-01-20 11:16
253 查看
算法是编程的灵魂,是编程思想的精髓————Algorithm One Day One
1.实现动态输入数组;
2.如何找出其子数组中最大数组所在数组的元素并输出;
/******************************************************************** created:2015年1月19日 00:20:59 author: Jackery T(n)=Ο(n) purpose: 本程序是求输入的一个数组,求其子数组的最大值; *********************************************************************/ #include"stdafx.h" #include<iostream> typedef int DataType; DataType Arrlen(DataType array[]); void SubAarr_MaxSum(DataType array[], DataType len); using namespace std; void main() { DataType array[]={0,12,-11,5}; DataType length=sizeof(array)/sizeof(DataType); SubAarr_MaxSum(array,length); } void SubAarr_MaxSum(DataType array[], DataType len) { if(NULL == array || len <=0){ return; } int curSum = 0, SubAarr_MaxSum = 0; //首先考虑数组有正、有负或者有零的情况 for(int i=0; i<len; i++){ curSum += array[i]; // 累加 if(curSum < 0){ // 当前和小于0,重置为0 curSum = 0; } // 当前和大于最大和,则重置最大和 if(curSum > SubAarr_MaxSum){ SubAarr_MaxSum = curSum; } } //接下来考虑数组中元素均为零的情况 if(SubAarr_MaxSum == 0){ SubAarr_MaxSum = array[0]; for(int i=1; i<len; i++){ if(array[i] > SubAarr_MaxSum){ SubAarr_MaxSum = array[i]; } } } cout << "最大子数组的和为:" << endl; cout << "SubAarr_MaxSum= " << SubAarr_MaxSum<< endl; }To be improved :
1.实现动态输入数组;
2.如何找出其子数组中最大数组所在数组的元素并输出;
相关文章推荐
- Algorithm One Day One--求输入的数组其子数组的最大值
- 5-8: 输入一个5行、6列的数组,找出该数组中绝对值最大的元素,输出该元素及其两个下标值
- C#--第2周实验--任务8--编写一个控制台应用--输入10个数存入数组,求最大值、最小值和平均值
- 1.输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值;
- 实验6-1 输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标
- 实验 6 数组1题目1、输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标
- 输入10个数到数组,输出最大值
- 实验 6-1输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标
- 从键盘输入十个整数存入一维数组中,求出其中的最大数并输出(要求用指针访问数组元素)?
- 【读书笔记】输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标。
- 输入一个整型数组(10个) 把最大的与第一个交换输出
- 6、 java 输入一个数字组成的数组,输出该数组的最大值和最小值
- 题目:给一个排序好的整数数组A,请写一个函数,输入是数组A和一个整数x,返回数组A中值小于x的最大元素的索引值
- [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。
- C#小练习(输入10个数存入数组中,求最大值、最小值和平均值.)
- 输入一个整型数组,求所有子数组中和的最大值
- 求数组中最大子数组和(容器实现输入动态数组)
- 输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标
- 实验 6 数组1 输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标