HDOJ-ACM1003(JAVA)
转载声明:原文转自http://www.cnblogs.com/xiezie/p/5502855.html
第一、二次的思路都是穷举;
第一次的实现是用二维数组;
import java.util.*; import java.io.*; public class Main{ public static void main(String[] arg){
Scanner scan = new Scanner(new BufferedInputStream(System.in));
int n = scan.nextInt();
int l = n;
while(n!=0){
int m = scan.nextInt();
int[] a = new int[m];
int len = 0;
for(int i = 0 ; i != m ; i ++){
a[i] = scan.nextInt();
len = len + i + 1;
}
int[] sum = new int[len];
for(int i = 0 ; i != m ; i ++ ){
int h = 0;
for(int g = 0 ; g != i+1 ; g ++ ){
h+=g;
}
for(int j = i ; j != m ; j ++ ){
for(int k = i ; k != j+1 ; k ++ ){
sum[m*i+j-h] = sum[m*i+j-h] + a[k];
}
}
}
int max = sum[0];
int maxI = 1,maxJ = 1;
for(int i = 0 ; i != m ; i ++ ){
int h = 0;
for(int g = 0 ; g != i+1 ; g ++ ){
h+=g;
}
for(int j = i ; j != m ; j ++ ){
if(sum[m*i+j-h]>max){
maxI = i+1 ;
maxJ = j + 1;
max = sum[m*i+j-h];
}
}
}
System.out.println("Case " + (l-n+1) + ":");
System.out.println(max + " " + maxI + " " + maxJ);
if(n!=1){
System.out.println();
}
n--;
}
} }
但是:报了Memory Limit Exceeded的错误
第二次的思路是将二维数组转化为一维数组
但是运行效果不好,代码冗长
第三次AC
具体分析这个程序应该怎么更好的实现,在输入时就开始判断最大数
import java.util.*; import java.io.*; public class Main{ public static void main(String[] arg){
Scanner scan = new Scanner(new BufferedInputStream(System.in));
int n = scan.nextInt();
int y = n;
while(n!=0){
int m = scan.nextInt();
int l = m ;
int sum = -1001;
int max = -1001;
int maxI = 1;
int maxJ = 1;
int i = 1;
int j = 1;
while(m!=0){
int a = scan.nextInt();
if(sum>=0){
j++;
sum += a ;
}else{
i= l-m+1;
j= l-m+1;
sum = a;
}
if(max<sum){
max = sum;
maxI = i;
maxJ = j;
}
m--;
}
System.out.println("Case " + (y-n+1) + ":");
System.out.println(max + " " + maxI + " " + maxJ);
if(n!=1){
System.out.println();
}
n--;
}
} }
HDOJ-ACM1003(JAVA)的更多相关文章
- hdoj 1753 (Java)
刚刚开始用Java,代码难免不够简洁. import java.math.BigDecimal; import java.util.Scanner; public class Main { publi ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现 ...
- HDOJ(HDU) 2192 MagicBuilding(用Java的Map做了下)
Problem Description As the increase of population, the living space for people is becoming smaller a ...
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me wha ...
- hdoj 1753 大明A+B 高精度/java
大明A+B Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- hdoj 1002 A + B Problem II 高精度 java
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
随机推荐
- FontDialog组件设置字体
1.设置字体 private void button3_Click(object sender, EventArgs e) { this.fontDialog1.ShowDialog(); this. ...
- 我的PHP之旅--PHP的判断、循环语句
if语句 <?php if ($a = "some string") { // 就算括号中不是bool值,php也会自动转换为bool值 上一节写过各个类型转换bool值 / ...
- 解决WP8应用里ListBox绑定数据变多导致越来越卡
ListBox控件绑定数据,当滑动到底部的时候加载数据到列表上,这样就会产生一个问题,当ListBox上面绑定的数据有几千条的时候,界面将会卡顿,我们可以通过在ListBox上只绑定指定数量的数据,其 ...
- jquery怎么实现左右滑动的问题
var len = $("#b span").length, curindex = 0; $("#leftRun").click(function(){ if( ...
- 【Firefly API 新版文档】Package dbentrust
原地址:http://blog.csdn.net/uxqclm/article/details/11969653 该包下面主要是数据库的处理与memcached存储.里面封装了,从memcached数 ...
- 年度十佳 DevOps 博客文章(前篇)
如果说 15 年你还没有将 DevOps 真正应用起来,16 年再不实践也未免太落伍了.国内 ITOM 领军企业 OneAPM 工程师为您翻译整理了,2015 年十佳 DevOps 文章,究竟是不是深 ...
- 利用ZABBIX的RPC-JSON作API扩展应用示例
计划将ZABBIX的一些状态可以在另一个应用的显示GRAPH及链接. 故而在网上找了几个文档,作了一个测试. https://www.zabbix.com/documentation/2.4/manu ...
- crtmpserver系列之一:流媒体概述
阅读目录 概述 流媒体系统的组成 媒体文件封装 传输协议 回到顶部 概述 所谓流媒体按照字面意思理解就是像流一样的媒体,看起来像是废话.流媒体现在司空见惯,所以一般人大概不会有疑问.事实上在流媒体还没 ...
- 【HDOJ】1230 火星A+B
个人觉得这道题没那么水,wa了几次,才发现自己居然没有给srcb数组reset,打错了.搞死啊. #include <stdio.h> #include <string.h> ...
- URAL1658. Sum of Digits(DP)
链接 这题卡了挺久了 昨天试着用类似dfs的方法直接TLE在第二组 看了下题解,,发现s1,s2的范围是个幌子..100位最大的s1900 s28100 觉得s1s2太大不敢开二维.. 这样就简单了 ...