求数组子序列和最大值
from:https://www.shiyanlou.com/courses/running/102
输入一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的那个序列。
序列:-2 11 -4 13 -5 2 -5 -3 12 -9 最大子序列和为21
序列:0 -3 6 8 -20 21 8 -9 10 -1 3 6 5 最大子序列和为43
代码如下:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n,a[20]; 6 cout<<"input n and array"<<endl; 7 cin>>n; 8 for(int i=0;i<n;i++) 9 { 10 cin>>a[i]; 11 } 12 int wai_sum=0; 13 int li_sum=0; 14 for(int i=0;i<n;i++) 15 { 16 li_sum=0; 17 int temp=0; 18 int flag=-1; 19 for(int j=i;j<n;j++) 20 { 21 temp = temp + a[j]; 22 if(a[j]<=0) 23 { 24 continue; 25 } 26 if(li_sum<temp) 27 { 28 li_sum = temp; 29 } 30 } 31 if(wai_sum<li_sum) 32 wai_sum = li_sum; 33 } 34 cout<<wai_sum<<endl; 35 return 0; 36 }
另外的一种时间复杂度更低的方法:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a[10] = {-2,11,-4,13,-5,2,-5,-3,12,-9}; 6 int b,sum; 7 b=a[0]; 8 sum = a[0]; 9 for(int i=0;i<10;i++) 10 { 11 if(b>0) 12 { 13 b+=a[i]; 14 } 15 else 16 { 17 b = a[i]; 18 } 19 if(b>sum) 20 sum = b; 21 } 22 cout<<sum<<endl; 23 return 0; 24 }
转载于:https://www.cnblogs.com/niceforbear/p/4521277.html
求数组子序列和最大值相关推荐
- C语言求数组中的最大值
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105163865 C ...
- Java学习小程序(8)求数组元素的最大值并放在最后一位
求数组元素的最大值并放在最后一位,创建一个10个长度的数组,随机生成0-99之间的数值放入数组,找出最大值,将数组的长度扩容为11,把最大值赋给最后一位. //求数组的最大值放在最后一位 import ...
- 求数组里面的最大值和最小值
题目: 求数组里面的最大值和最小值 比如:数组 1,2,3,4,5 最大值是5,最小值是1 代码实现: #include <stdio.h> int max,min; void getMa ...
- 求数组中数的最大值、最小值(C语言)
求数组中数的最大值.最小值(C语言) #include<stdio.h>void main(void) {int num[10],i,imax,imin,imaxp,iminp;for(i ...
- 编程之美4:求数组中的最大值和最小值
方法1:暴力方法 遍历一遍数组,比较2*N次求出最大值和最小值 方法2:改进方法 (破坏了原数组) 遍历一遍数组使得下标为偶数的元素较下标为奇数的元素大,再分别求出最大值和最小 ...
- 利用函数求数组中的最大值
利用函数求数组中的最大值 <!DOCTYPE html> <html lang="en"><head><meta charset=&quo ...
- 求数组中的最大值和最大值的索引
前天将数据的一些遍历方法共享出来了,今天还是接着共享有关数组的吧. using System; using System.Collections.Generic; using System.Text; ...
- 【python】 求数组最小值,最大值,最小偶数,最大奇数
[python] 求数组最小值,最大值,最小偶数,最大奇数 lst = [3, 6, 1, 8, 1, 9 , 8,10,21] min=lst[0] max=lst[0] mi=lst[0] ma= ...
- JAVA 求数组中的最大值
package Code411;//求数组的最大值public class CodeArrayMax { public static void main(String[] args) { int ar ...
- 问题 H: 编写函数:求数组中的最大值 (Append Code)
题目描述 现有一个不超过N个元素的数组,其中可能有重复数据出现.求该数组中的最大值以及最大值所在的下标. 结合"Append Code"中的代码,编写以下函数: 原型:int ge ...
最新文章
- mysql 1236_Mysql主从同步Last_IO_Errno:1236错误解决方法
- C++预编译头文件 bits/stdc++.h
- java heap space 解决方法_Java静态方法/变量,非静态方法/变量的区别,今天一并帮你解决
- SparkStreaming “Could not read data from write ahead log record” 报错分析解决
- Istio 1.10 发布及官网改版
- Spring MVC中的验证组
- VMware15设置快照回到指定时间的状态
- MogDB如何配置IPv6?
- Android 系统性能优化(72)-----App启动优化
- 使用变量的值作为JS对象的属性名,从而获取其对应的值
- 如何使用 Firefox 阻止指纹识别的侵扰?
- mysql 主从复制日志_mysql主从复制基于日志复制
- [翻译].NET委托:一个C#睡前故事 [转]
- fastfds文件服务器搭建
- 微软Windows字体被诉侵权?我们来聊聊有关网站侵权被诉的那些事。
- JavaScript 日期和时间基础知识
- Jlink下使用swd
- java实现多文件批量下载总结
- 【搜索引擎】Apache Solr 神经搜索
- 概率论减法公式的证明
热门文章
- 尽点力,虽然也不一定有用
- 看小龙哥演讲之感悟!
- 湖北经济学院计算机专业全国排名,2018年湖北经济学院世界排名、中国排名、专业排名...
- 最大子序列和算法C语言,最大子序列和O(N)算法简单分析『神兽必读』
- 如何用python处理pdf_如何使用Python玩转PDF各种骚操作?
- 根据录入的计算公式计算_预制桩极限承载力标准值快速计算方法研究
- python 修改文件属性_Python实现在Windows平台修改文件属性
- openstack热添加磁盘
- tomcat 访问权限设置
- 每日一九度之 题目1091:棋盘游戏