HDOJ 1003:求一串数字中和最大的连续子串
2019独角兽企业重金招聘Python工程师标准>>>
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1003
一、题目要求
给出几组整型数据,每组数据在最开始都会给出数据的数量,根据给出的数据,求这组数据中最大的连续子串的和是多少,并写出此时子串的左、右边界(输出的左右边界从1起算)
二、程序代码
代码思路详见注释
#include<iostream>using namespace std;int main()
{int counter; //计数器int countera; //计数器a,用于统计一共有多少组数据int counterb; //计数器b,用于统计每组数据中的数据数int i, j; //for语句遍历用变量int sum; //临时计算的各数字和int maxsum; //数字串中的最大子串和int left, right; //取最大子串和时的左边界和右边界cin >> countera;for(counter = 1; counter <= countera; counter++){maxsum = -1001;//依次读入数据时,maxsum被设置为数组中的最大值cin >> counterb;int* array = new int[counterb];for(i = 0; i < counterb; i++){cin >> array[i];if(array[i] > maxsum){maxsum = array[i];left = i;right = i;}}for(i = 0; i < counterb; i++){//除了自己单独成串的情况(前面已经考虑过)//负数不能作为max子串的第0项if(array[i] < 0){continue;}//考察从数组array第i项开始的各子串sum = 0;for(j = i; j < counterb; j++){sum += array[j];//子串数字和大于maxsum的情况下//将maxsum与左右边界设定为当前状态if(sum > maxsum){maxsum = sum;left = i;right = j;}//如果sum小于0,则后面的子串不必考察//因为后面的串再大,加上前面小于0的sum也是累赘//不可能再得出新的最大子串if(sum < 0){break;}}}//输出计算结果cout << "Case " << counter << ':' << endl;cout << maxsum << ' ' << left + 1 << ' ' << right + 1 << endl;if(counter != countera){cout << endl;}}return 0;
}
三、之前写的超时代码(穷举法)
#include<iostream>using namespace std;int main()
{int counter, countera, counterb;int i, j, k, sum, maxsum, left, right;//读取数据组数cin >> countera;for(counter = 1; counter <= countera; counter++){//依次读入各组数据cin >> counterb;int* array = new int[counterb];for(i = 0; i < counterb; i++){cin >> array[i];}maxsum = array[0];//逐个子串比对for(i = 0; i < counterb; i++){for(j = i; j < counterb; j++){//计算子串数字和sum = 0;for(k = i; k <= j; k++){sum += array[k];}//数字和大于maxsum则更新maxsumif(sum > maxsum){left = i;right = j;maxsum = sum;}}}cout << "Case " << counter << ':' << endl;cout << maxsum << ' ' << left + 1 << ' ' << right + 1 << endl;if(counter != countera){cout << endl;}}return 0;
}
END
转载于:https://my.oschina.net/Tsybius2014/blog/299516
HDOJ 1003:求一串数字中和最大的连续子串相关推荐
- 排列组合———求一串数字可以有多少种不同的组合
这里求的是一串数字中选任意个数字,输出他们的和. 采用递归思想 #include<iostream> #include<algorithm> using namespace s ...
- java取出连续子串_JAVA :在给定一个数组中,可以取得多个连续的子串。在众多子串中,求各元素和为最大值的连续子串...
思想:将要进行的检测的数据录入到数组中.然后依次将数组中的数据相加求和,定义max变量,begin变量,top变量以及last变量.begin变量用于记录最大值子串的起始位置,那么一开始就应该是1.l ...
- python输出奇数数字序列_python在一串数字中选出奇数-女性时尚流行美容健康娱乐mv-ida网...
女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 js 验证 数字 (验证字符 ...
- 如何将一串数字从小到大输出(输出该数字原本的数字编号)
咳咳!本小白已经是写过8篇博客.码龄53天的大佬了(手动狗头),所以我还是深知一篇博客标题的重要性的,所以为了骗你们进来看我的博客,我还是每天都在好好想标题哦.好了,来看看今天的知识点吧! 先提问,如 ...
- Python数据挖掘2:pandas使用:Series一串数字和DataFrame数据框
''' pandas 来源:Dust的天善智能韦玮老师 课堂笔记 ''' import pandas as pda ''' Series 一串数字 index 索引,默认0,1,2,3 DataFra ...
- P5357 【模板】AC自动机(二次加强版)(AC自动机建fail树dfs求模式串出现次数)
P5357 [模板]AC自动机(二次加强版)(AC自动机建fail树dfs求模式串出现次数) 传送门 形式上,AC 自动机基于由若干模式串构成的 Trie 树,并在此之上增加了一些 fail 边:本质 ...
- 基础拾遗(1):字符(串)数字互转
2019独角兽企业重金招聘Python工程师标准>>> Python 字符数字互转 From: http://www.cnblogs.com/wuxiangli/p/6046800. ...
- 算一串数字的entropy_2020520|一个万年一遇有爱的日子,网友:就是一串数字
2020520|一个万年一遇有爱的日子,网友:就是一串数字. 之前的我从来不会去关注这种谐音式的节日,总感觉跟闹着玩似的,有点像小孩过家家. 这辈子独一无二的520 今天不出意料地又被520刷屏了,本 ...
- 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序
1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...
- 编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和
编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次.请写出程序求出这两个只出现了一次的数字之和 目录 题目描述 代码实现 题目描述 ...
最新文章
- 高效开发 Android App 的 10 个建议(转)
- nginx 图片站点加访问权_nginx配置访问图片路径以及html静态页面的调取方
- 没有终结点在侦听可以接受消息的_【大卫聊股】2019.05.05 周末重要消息分析及下周一走势预判...
- 孙正义辞任阿里董事 阿里:软银仍有权提名一名董事进董事会
- PyTorch系列入门到精通——autograd与逻辑回归
- cordova APP 检查更新
- 刚接手的项目代码 怎么看_你们刚开始是怎么看英文文献的?
- mysql按笔划排序_Sql Server数据库汉字按字母、笔划、拼音首字母、排序
- (转载)New poker 2总算放出新固件了!
- 运算放大器节点电压方程_区分运算放大器和电压比较器
- 2021数学建模美赛:赛前总动员
- JS/JQuery如何判断文本中是否有繁体字
- 5g nr,PDSCH/PUSCH,UE如何选择MCS table
- 聊天窗口内容滚动到底部的方法scrollTop和scrollIntoView
- 360视频:CMP和ACP投影
- 系统性简述蓝牙以及ESP32对BLE蓝牙的使用(一)
- HorizontalScrollView实现Gallery
- python脱离环境运行_脱离Python环境运行的问题所使用的工具介绍
- LC激光雷达qy调研
- 什么软件可以测试iphone6s芯片,苹果是对的:测试显示iPhone 6s两款芯片续航差距微小...
热门文章
- atitit. java queue 队列体系and自定义基于数据库的队列总结o7t
- paip.python优缺点attilax总结
- paip.undefined reference to MainWindow::xxx from moc_mainwindow.cpp错误解决
- paip.mysql备份慢的解决
- paip.使用继承机制来实现控制反转或依赖倒置
- 中国证券IT发展简史(上)
- Rust: codewars的primes-in-numbers
- fckeditor for java_FCKeditor最新版本2.4.1 for java 教程
- 【优化算法】改进型的LMS算法【含Matlab源码 630期】
- 【物理应用】基于matlab GUI功率谱估计【含Matlab源码 329期】