题目要求

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语言描述)相关推荐

  1. for循环两个分号之间不要乱加判断条件(记洛谷P2141题WA的经历,Java语言描述)

    题目要求 P2141题目链接 分析 暴力法可解--我们只需遍历一遍数组,在里面再遍历一次,再遍历一次,共三层嵌套,需要保证内层counter数值不能与外面诸层的counter相同~~ 暴力还可防漏,很 ...

  2. 坑爹的Java除法取整(记洛谷P5709题WA的经历,Java语言描述)

    题目要求 P5709题目链接 分析 一看,这就是水题啊... 问题是,看看这AC-Rate,吓不吓人~~~ 所以我们应该去分析这里的坑(当时我也是头铁跪了多次--) 读完题我们可能会想直接去将s/t以 ...

  3. 理解题意优于一切(记洛谷P1426题WA的经历,Java语言描述)

    题目要求 P1426题目链接 分析 看到有和我一样80分的,原因想必是用了do-while循环吧,其实这个题题意还是不明-- 也可能就是我菜吧,能怎样? 好好读题吧,读不懂题就活该WA掉~~ 第一次提 ...

  4. 多个小int的乘法小心溢出哦(记洛谷P1615题WA的经历,Java语言描述)

    WAWA大哭 这破题,你还WA~~ 又是没用long,反正这是平时玩耍,正好长点经验,我忍!! 题目要求 P1615题目链接 分析 水题~~ 简便做法--直接拆开时间,将":"作为 ...

  5. 处理大数必选BigInteger(记洛谷P1009题WA的经历,Java语言描述)

    题目大意 P1009题目链接 分析 题目很简单,但是这是阶乘啊,更何况是阶乘和,long都不够,用int纯属作死-- Java并无C的longlong,但我们有java.math.BigInteger ...

  6. 按比例切分组合数值(洛谷P1008、P1618题解,Java语言描述)

    P1008题目要求 P1008题目链接 P1618题目要求 P1618题目链接 分析 P1618是P1008的增强版,使得一个水题没有那么水了,不过还是挺简单的. 其实judge()函数的话,两题可以 ...

  7. Java每次输入一个字符+高精度取整计算(记洛谷P2394题WA+TLE+RE的经历,Java语言描述)

    祝大家圣诞节快乐 卑微菜鸡深夜写博客~~~55555 其实这题真的有毒 这题你要是C/C++,虽然语法不是辣么直接,但几行而已: #include<bits/stdc++.h>using ...

  8. 解一元一次方程的那些坑(记洛谷P1022题RE的经历,Java语言描述)

    important!!! 遇到RE不可怕,纯粹的RE还行(后面没有WA的话,可能你的算法本身没错). 这固然会使得我们困惑,但我们只需要记得最常见的几种RE,加以分析,给一些脑洞大的测试样例就一般可以 ...

  9. 洛谷P4325、P4413题解(Java语言描述)

    P4325题目要求 P4325题目链接 P4325题解 import java.util.Arrays; import java.util.Scanner;public class Main {pub ...

最新文章

  1. javaOOP项目实战——银行ATM机
  2. “因人脸识别错误,我被捕了!”
  3. 解决docker pull镜像速度慢的问题
  4. Java容器类研究4:ArrayList
  5. IOS、Android html5页面输入的表情符号变成了乱码”???“
  6. python爬虫从基础到实战-2019-08-05 《python爬虫开发:从入门到实战》
  7. [云炬创业基础笔记]第二章创业者测试20
  8. 节后收心困难?这15篇论文,让你迅速找回学习状态
  9. CF1481F-AB Tree【构造,背包】
  10. 带有DIY的Openshift上的Spring Boot / Java 8 / Tomcat 8
  11. python xpath定位打印元素_python基础教程:8种selenium元素定位的实现
  12. 正则表达式,删除空行,删除特定字符所在行
  13. 什么是处理机的态?为什么要区分处理机的态?
  14. mac降级safari_如何在Mac上的Safari中将网页另存为PDF
  15. 把“友商”装进芯里威联通运行黑群晖最新DSM系统
  16. F4驱动WM8978“前奏
  17. python爬虫 scrapy 爬取腾讯招聘
  18. Win8 许可证过期怎么重新激活?
  19. 3个月备战政治数学,你成功上岸了么?
  20. BUCT数据结构——图

热门文章

  1. java输入最大10位数,倒数输出(很鸡肋)
  2. iOS基础 - 控制器
  3. MasterPage 小谈
  4. 基础练习 高精度加法(蓝桥杯 java)
  5. URLConnection和HttpURLConnection类
  6. eclipse的优化操作
  7. tablueau地图标记圆形_R语言在线地图神器:Leaflet for R包(三) 符号标记
  8. C++求复数的角度_【研读.教材分析】“勾股定理”教学——基于单元整体的角度再思考...
  9. Android插件丢失怎么办,Android studio推荐插件以及升级后插件丢失问题解决
  10. 放图片 java_java怎么在我想要的图片上在放一个我想要的图片