C语言:数组中相邻元素持续相加,求其最大值!
来源:互联网 发布:爱国为主题的电影知乎 编辑:程序博客网 时间:2024/06/07 06:38
例:
输入:{-3,1,4,-2,5,-9}
输出:{1,4,-2,5}
/**设数组元素为n, 那么此序列的长度, 会>=1, 且<=n.如果最大元素为m, 那么此序列的和肯定>=m。如果m的值>0, 此序列的头和尾的值都>0。如果m的值<=0,则此序列就是元素m本身。**/#include <iostream>using namespace std;int main(){ int arr[10]={1,5,-7,3,2,-7,4,-1,-1,2}; int i=0,index=0,index_max=0,len=0,len_max=0; int sum=0,sum_max=0; int max_arr = arr[0], max_arr_index = 0;; for(i=0; i<10; i++) { if(max_arr<arr[i]) // 获取所有数值中的最大值 { max_arr = arr[i]; max_arr_index = i; } sum+=arr[i]; if(sum<0) { index = i+1; sum = 0; len = 0; } else { len++; } if(sum_max<sum) { sum_max = sum; index_max = index; len_max = len; } } if(max_arr <= 0) { sum_max = max_arr; index_max = max_arr_index; len_max = 1; } //cout<<sum_max<<endl<<index_max<<endl<<len_max<<endl; cout << "sum_max = " << sum_max << endl; for(i=index_max;i<len_max;i++) { cout << arr[i] << " "; } cout << endl; return 0;}
0 0
- C语言:数组中相邻元素持续相加,求其最大值!
- 数据结构之——找到无序数组中排序后相邻元素差值的最大值
- 数据结构之——找到无序数组中排序后相邻元素差值的最大值
- C语言求其字符数组的长度
- LeetCode (20) house robber (数组不相邻元素最大值)
- 排序后数组中相邻两数的最大值
- C语言中最大值
- 求数组中数的最大值、最小值(C语言)
- 数组的排序,加入数组中相邻元素的置换
- 数组的排序,加入数组中相邻元素的置换
- 求数组相邻元素差值的最大值快速算法(C++版)
- C语言之数组设数组a包括10个整型元素,用C语言编程序,求出数组a中相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。
- 数组中两个数相减(相加)的最大值
- 求一个数组中最大的相邻元素之和
- 数组A中任意两个相邻元素大小相差1
- 数组中不相邻元素的最大和
- 求序列中连续相邻元素之和最大值的四种算法
- 数组最大相邻元素之和
- BZOJ 3205 [Apio2013]机器人 斯坦纳树
- unity 时间戳
- Mysql 字符串 varchar 和 char 在存储上的区别
- 数据字典查询数据库中分区字段
- Android Multimedia实战(六)音频 MediaRecorder和AudioRecord录音与MediaPlayer和AudioTrack播放
- C语言:数组中相邻元素持续相加,求其最大值!
- GreenDao的基本使用以及遇到的坑
- centos6.4关闭防火墙步骤
- yii1.17 资料大全
- React Native 防重复提交实现方法
- AccessController.doPrivileged 小记
- source insight使用技巧
- CentOS 安装 GraphicsMagick
- React Native 项目结构、剖析index.ios.js文件