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:求一串数字中和最大的连续子串相关推荐

  1. 排列组合———求一串数字可以有多少种不同的组合

    这里求的是一串数字中选任意个数字,输出他们的和. 采用递归思想 #include<iostream> #include<algorithm> using namespace s ...

  2. java取出连续子串_JAVA :在给定一个数组中,可以取得多个连续的子串。在众多子串中,求各元素和为最大值的连续子串...

    思想:将要进行的检测的数据录入到数组中.然后依次将数组中的数据相加求和,定义max变量,begin变量,top变量以及last变量.begin变量用于记录最大值子串的起始位置,那么一开始就应该是1.l ...

  3. python输出奇数数字序列_python在一串数字中选出奇数-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 js 验证 数字 (验证字符 ...

  4. 如何将一串数字从小到大输出(输出该数字原本的数字编号)

    咳咳!本小白已经是写过8篇博客.码龄53天的大佬了(手动狗头),所以我还是深知一篇博客标题的重要性的,所以为了骗你们进来看我的博客,我还是每天都在好好想标题哦.好了,来看看今天的知识点吧! 先提问,如 ...

  5. Python数据挖掘2:pandas使用:Series一串数字和DataFrame数据框

    ''' pandas 来源:Dust的天善智能韦玮老师 课堂笔记 ''' import pandas as pda ''' Series 一串数字 index 索引,默认0,1,2,3 DataFra ...

  6. P5357 【模板】AC自动机(二次加强版)(AC自动机建fail树dfs求模式串出现次数)

    P5357 [模板]AC自动机(二次加强版)(AC自动机建fail树dfs求模式串出现次数) 传送门 形式上,AC 自动机基于由若干模式串构成的 Trie 树,并在此之上增加了一些 fail 边:本质 ...

  7. 基础拾遗(1):字符(串)数字互转

    2019独角兽企业重金招聘Python工程师标准>>> Python 字符数字互转 From: http://www.cnblogs.com/wuxiangli/p/6046800. ...

  8. 算一串数字的entropy_2020520|一个万年一遇有爱的日子,网友:就是一串数字

    2020520|一个万年一遇有爱的日子,网友:就是一串数字. 之前的我从来不会去关注这种谐音式的节日,总感觉跟闹着玩似的,有点像小孩过家家. 这辈子独一无二的520 今天不出意料地又被520刷屏了,本 ...

  9. 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序

    1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...

  10. 编程笔试(解析及代码实现):求不重复数字之和​​​​​​​给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和

    编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次.请写出程序求出这两个只出现了一次的数字之和 目录 题目描述 代码实现 题目描述 ...

最新文章

  1. 高效开发 Android App 的 10 个建议(转)
  2. nginx 图片站点加访问权_nginx配置访问图片路径以及html静态页面的调取方
  3. 没有终结点在侦听可以接受消息的_【大卫聊股】2019.05.05 周末重要消息分析及下周一走势预判...
  4. 孙正义辞任阿里董事 阿里:软银仍有权提名一名董事进董事会
  5. PyTorch系列入门到精通——autograd与逻辑回归
  6. cordova APP 检查更新
  7. 刚接手的项目代码 怎么看_你们刚开始是怎么看英文文献的?
  8. mysql按笔划排序_Sql Server数据库汉字按字母、笔划、拼音首字母、排序
  9. (转载)New poker 2总算放出新固件了!
  10. 运算放大器节点电压方程_区分运算放大器和电压比较器
  11. 2021数学建模美赛:赛前总动员
  12. JS/JQuery如何判断文本中是否有繁体字
  13. 5g nr,PDSCH/PUSCH,UE如何选择MCS table
  14. 聊天窗口内容滚动到底部的方法scrollTop和scrollIntoView
  15. 360视频:CMP和ACP投影
  16. 系统性简述蓝牙以及ESP32对BLE蓝牙的使用(一)
  17. HorizontalScrollView实现Gallery
  18. python脱离环境运行_脱离Python环境运行的问题所使用的工具介绍
  19. LC激光雷达qy调研
  20. 什么软件可以测试iphone6s芯片,苹果是对的:测试显示iPhone 6s两款芯片续航差距微小...

热门文章

  1. atitit. java queue 队列体系and自定义基于数据库的队列总结o7t
  2. paip.python优缺点attilax总结
  3. paip.undefined reference to MainWindow::xxx from moc_mainwindow.cpp错误解决
  4. paip.mysql备份慢的解决
  5. paip.使用继承机制来实现控制反转或依赖倒置
  6. 中国证券IT发展简史(上)
  7. Rust: codewars的primes-in-numbers
  8. fckeditor for java_FCKeditor最新版本2.4.1 for java 教程
  9. 【优化算法】改进型的LMS算法【含Matlab源码 630期】
  10. 【物理应用】基于matlab GUI功率谱估计【含Matlab源码 329期】