判断条件要仔细推敲(记洛谷P1317题WA的经历,Java语言描述)
题目要求
P1317题目链接
分析
我想的比较复杂,
就是外面有一个大循环,保证遍历数组。
然后是直到下坡我们才能进内层循环,否则往后挪一个(i++)。
进内循环以后必须是上坡才能counter++,并把i赋值为j;如果内层达到sum,就直接退出大循环就行,防卡死……
第一次提交——WA
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int sum = scanner.nextInt();int[] array = new int[sum];for (int i = 0; i < sum; i++) {array[i] = scanner.nextInt();}int counter = 0;outer:for (int i = 0; i < sum-1; ) {if (array[i+1] < array[i]) {for (int j = i+1; j < sum; j++) {if (j == sum-1) {break outer;} else if (array[j] > array[j+1]) {i = j;counter++;break;}}} else {i++;}}System.out.println(counter);scanner.close();}
}
开Debug,大致一看没啥大事……
换一组测试数据:
5
5 4 3 2 1
打印出3,这可不对,开Debug~~
发现一路下坡会直接counter++,这不对啊,进一步发现,下坡会直接满足条件,gg……
原来是条件反了诶,调过来就行!
第二次提交——AC
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int sum = scanner.nextInt();int[] array = new int[sum];for (int i = 0; i < sum; i++) {array[i] = scanner.nextInt();}int counter = 0;outer:for (int i = 0; i < sum-1; ) {if (array[i+1] < array[i]) {for (int j = i+1; j < sum; j++) {if (j == sum-1) {break outer;} else if (array[j] < array[j+1]) {i = j;counter++;break;}}} else {i++;}}System.out.println(counter);scanner.close();}
}
后记
Code写的比较臃肿,时间所限,见谅……
条件要找准,别弄反了诶!
判断条件要仔细推敲(记洛谷P1317题WA的经历,Java语言描述)相关推荐
- for循环两个分号之间不要乱加判断条件(记洛谷P2141题WA的经历,Java语言描述)
题目要求 P2141题目链接 分析 暴力法可解--我们只需遍历一遍数组,在里面再遍历一次,再遍历一次,共三层嵌套,需要保证内层counter数值不能与外面诸层的counter相同~~ 暴力还可防漏,很 ...
- 坑爹的Java除法取整(记洛谷P5709题WA的经历,Java语言描述)
题目要求 P5709题目链接 分析 一看,这就是水题啊... 问题是,看看这AC-Rate,吓不吓人~~~ 所以我们应该去分析这里的坑(当时我也是头铁跪了多次--) 读完题我们可能会想直接去将s/t以 ...
- 理解题意优于一切(记洛谷P1426题WA的经历,Java语言描述)
题目要求 P1426题目链接 分析 看到有和我一样80分的,原因想必是用了do-while循环吧,其实这个题题意还是不明-- 也可能就是我菜吧,能怎样? 好好读题吧,读不懂题就活该WA掉~~ 第一次提 ...
- 多个小int的乘法小心溢出哦(记洛谷P1615题WA的经历,Java语言描述)
WAWA大哭 这破题,你还WA~~ 又是没用long,反正这是平时玩耍,正好长点经验,我忍!! 题目要求 P1615题目链接 分析 水题~~ 简便做法--直接拆开时间,将":"作为 ...
- 处理大数必选BigInteger(记洛谷P1009题WA的经历,Java语言描述)
题目大意 P1009题目链接 分析 题目很简单,但是这是阶乘啊,更何况是阶乘和,long都不够,用int纯属作死-- Java并无C的longlong,但我们有java.math.BigInteger ...
- 按比例切分组合数值(洛谷P1008、P1618题解,Java语言描述)
P1008题目要求 P1008题目链接 P1618题目要求 P1618题目链接 分析 P1618是P1008的增强版,使得一个水题没有那么水了,不过还是挺简单的. 其实judge()函数的话,两题可以 ...
- Java每次输入一个字符+高精度取整计算(记洛谷P2394题WA+TLE+RE的经历,Java语言描述)
祝大家圣诞节快乐 卑微菜鸡深夜写博客~~~55555 其实这题真的有毒 这题你要是C/C++,虽然语法不是辣么直接,但几行而已: #include<bits/stdc++.h>using ...
- 解一元一次方程的那些坑(记洛谷P1022题RE的经历,Java语言描述)
important!!! 遇到RE不可怕,纯粹的RE还行(后面没有WA的话,可能你的算法本身没错). 这固然会使得我们困惑,但我们只需要记得最常见的几种RE,加以分析,给一些脑洞大的测试样例就一般可以 ...
- 洛谷P4325、P4413题解(Java语言描述)
P4325题目要求 P4325题目链接 P4325题解 import java.util.Arrays; import java.util.Scanner;public class Main {pub ...
最新文章
- javaOOP项目实战——银行ATM机
- “因人脸识别错误,我被捕了!”
- 解决docker pull镜像速度慢的问题
- Java容器类研究4:ArrayList
- IOS、Android html5页面输入的表情符号变成了乱码”???“
- python爬虫从基础到实战-2019-08-05 《python爬虫开发:从入门到实战》
- [云炬创业基础笔记]第二章创业者测试20
- 节后收心困难?这15篇论文,让你迅速找回学习状态
- CF1481F-AB Tree【构造,背包】
- 带有DIY的Openshift上的Spring Boot / Java 8 / Tomcat 8
- python xpath定位打印元素_python基础教程:8种selenium元素定位的实现
- 正则表达式,删除空行,删除特定字符所在行
- 什么是处理机的态?为什么要区分处理机的态?
- mac降级safari_如何在Mac上的Safari中将网页另存为PDF
- 把“友商”装进芯里威联通运行黑群晖最新DSM系统
- F4驱动WM8978“前奏
- python爬虫 scrapy 爬取腾讯招聘
- Win8 许可证过期怎么重新激活?
- 3个月备战政治数学,你成功上岸了么?
- BUCT数据结构——图
热门文章
- java输入最大10位数,倒数输出(很鸡肋)
- iOS基础 - 控制器
- MasterPage 小谈
- 基础练习 高精度加法(蓝桥杯 java)
- URLConnection和HttpURLConnection类
- eclipse的优化操作
- tablueau地图标记圆形_R语言在线地图神器:Leaflet for R包(三) 符号标记
- C++求复数的角度_【研读.教材分析】“勾股定理”教学——基于单元整体的角度再思考...
- Android插件丢失怎么办,Android studio推荐插件以及升级后插件丢失问题解决
- 放图片 java_java怎么在我想要的图片上在放一个我想要的图片