Tomcat 计算机基础知识 wavedorm JS tsql video nodejs教程视频 jquery的each循环 matlab中log函数 linux关闭mysql matlab生成对角矩阵 mysql汉化包 ubuntu更改文件夹权限 matlab中不等于怎么表示 js基本数据类型有哪些 python数据格式 destoon python生成随机数 java正则表达式 java重载和重写 javasocket通信 java写文件 java获取当前年月 java原始数据类型 linux基础教程 h5模板 摩斯密码翻译 lol设置 js绝对值 心理学与生活pdf 按键精灵脚本教程 编程语言实现模式 js包含字符串 字符串分割成数组 php正则匹配 pr放大画面 加速软件 appsync补丁 WVS 固态硬盘有什么用
当前位置: 首页 > 学习教程  > 编程语言

PAT 1007 Maximum Subsequence Sum (25 分)

2021/2/13 18:31:13 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

1007 Maximum Subsequence Sum (25 分) 经典题 具体代码 #include<iostream> #include<malloc.h> using namespace std;#define maxsize 100001 int main() {int n;int number[maxsize 1];bool flag true;int max 0;//记录整个比较过程中的最大值int tmp 0;…

1007 Maximum Subsequence Sum (25 分)

经典题

具体代码

#include<iostream>
#include<malloc.h>
using namespace std;

#define maxsize 100001
int main()
{
	int n;
	int number[maxsize + 1];
	bool flag = true;
	int max = 0;//记录整个比较过程中的最大值
	int tmp = 0;//短暂的记录变化的过程
	int first=0, last=0;//first表示的是最大列第一个数,last表示最大列的最后一个数
	int first_tmp;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> number[i];
	}
	for (int i = 1; i <= n; i++)
	{
		if (!tmp)
		{
			first_tmp = i;
		}
		tmp += number[i];
		if (tmp < 0)
		{
			tmp = 0;
		}
		else 
		{
			if (tmp > max)
			{
				max = tmp;
				last = i;
				first = first_tmp;
			}
		}
		if(number[i]==max)
		{
			last = i;
			first = first_tmp;
		}
	}
	if (last == 0)
	{
		first = 1;
		last = n;
	}
	cout << max <<" "<<number[first]<< " " << number[last];

	return 0;
}

本文链接: http://www.dtmao.cc/news_show_700255.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?