题目

这题已经给了电梯到达每一层的顺序,不需要自己调度电梯。

是个水题。


坑 & 心得

  • 测试用例1

51 88 35 28 15 62 61 78 89 36 58 95 95 28 94 33 43 44 13 26 0 67 30 80 19 5 4 17 21 7 2 64 82 62 22 24 92 16 49 65 7 62 93 33 4 12 28 28 88 90 82 5
答案:8405

  • 测试用例2

11 0 0 0 1 1 1 0 7 7 7 2
答案:127

掉的坑

  • 题目中给出了楼层的总数,我思路是:先把整个字符串读进来,然后用空格分割,这样就不需要题目中给的总数了,把总数的位置替换成0,因为一开始是从0层开始运动的。
  • 思路没问题,但是实现“替换”的时候,只把第一个数字替换成了0,结果就是,如果第一个数字是22的话,整个数被替换成02,并不是我想要的0
  • 一开始没发现这个错误,因为我自己生成的随机数测试用例都是50,100之类的,就算只把第一个数字替换成了0,整体也是00,000之类的,是我想要的0,找不到问题所在。7个测试点中有2个过不去。
  • 后来把过程输出了一下,发现第一个数不太对,终于找到了错误。如下图。

其他解法

如果使用sc.nextInt(),这题有更方便的解法。关于sc.nextInt()的用法,参考别人的解题代码:

import java.util.Scanner;public class PAT1008 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int a, b = 0, c = 5 * n;for (int i = 0; i < n; i++) {a = b;b = sc.nextInt();if (b < a) {c += 4 * (a - b);} else {c += 6 * (b - a);}}System.out.print(c);}
}

我的代码

import java.util.Scanner;public class Main {/** up:6 down:4 stay:5*/public static void main(String[] args) {Scanner sc = new Scanner(System.in);StringBuilder s = new StringBuilder(sc.nextLine());s.replace(0, s.indexOf(" "), "0");// change 0 to first floor, not need total numString[] strnum = s.toString().split(" ");//System.out.println(s);int sum = 0;for (int i = 0; i < strnum.length - 1; i++) {//System.out.println(time(Integer.parseInt(strnum[i]), Integer.parseInt(strnum[i + 1])));sum += time(Integer.parseInt(strnum[i]), Integer.parseInt(strnum[i + 1]));}System.out.println(sum);}public static int time(int from, int to) {int sum = 5;if (from < to) {// upsum += 6 * (to - from);} else if (from > to) {// downsum += 4 * (from - to);}else if(from==to) {sum=5;}return sum;}
}

结果

【PAT甲级 sc.nextInt()的使用】1008 Elevator (20 分) Java版 9/9通过相关推荐

  1. 【PAT甲级 替换指定字符】1035 Password (20 分) Java版 4/4通过

    题目 这个题挺简单,意思就是把所有的1替换成@,0替换成%等等 读题要仔细,输出格式方面有几个小坑: 末尾不要有多余的空格.换行 如果替换了,要在第一行输出替换的条数 如果没替换,要把题目给的字符串拼 ...

  2. 【PAT甲级 BigInteger】1019 General Palindromic Number (20 分) Java版 7/7通过

    题目 一开始只使用了Long,有后面四个测试点过不去,后来换了BigInteger,就通过了. 这题用Java的BigInteger做,可以操作任意长度的数字,感觉有一点取巧了. 如果C或者C++的话 ...

  3. 【PAT甲级 火星数字】1100 Mars Numbers (20 分)Java 全部AC

    题目 提交Java的时候,千万不要写第一行的包名称!!被这个bug折腾了一个小时.. 题解1:Java import java.util.ArrayList; import java.util.Lis ...

  4. 【PAT甲级 环最短距离】1046 Shortest Distance (20 分) Java、C++

    题目 这题是给你一个环,让你计算两点之间最短距离. 环的任意两点就两条路,只要算出环长和任意一条路的大小,另一条就出来了 时间复杂度O(N) 提前计算前缀长度和即可 题解 C++ 全部测试点通过 #i ...

  5. 1008 Elevator (20 分)_13行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 The highest building in our city has only one elevator. A request ...

  6. 【PAT甲级 十进制转十三进制】1027 Colors in Mars (20 分) Java版 5/5通过

    题目 是个水题,一次通过. 这道题的大意就是:给你输入3个十进制的数,让你转换成3个十三进制数.在转换的时候,注意不足两位的要用0补全两位. 小坑 提交之前,想起来自查一下我的convert(int ...

  7. 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过

    题目 这道题可以说是非常友善了,说白了是个水题.题目没什么坑,一次通过,主要思想就是: 输入两个数:num和base 将num按照base进制转换,得到arr 判断arr是否是一个回文数,并且输出这个 ...

  8. 【PAT甲级 素数判断 进制转换】1015 Reversible Primes (20 分) Java版 4/4通过

    题目 思路: 为了提高效率,判断素数采用打表的方式 先计算100000以内的所有素数,然后如果要判断一个数是否为素数的话,直接与表中比对 题目中的意思是: 首先,判断一个数N1是否为素数 如果N1是素 ...

  9. 【PAT (Advanced Level) Practice】1008 Elevator (20 分)

    #include<iostream> #include<cstdio> #include<cstdlib> #include<string> #incl ...

最新文章

  1. 超酷炫!Facebook用深度学习和弱监督学习绘制全球精准道路图
  2. 探讨微软团队开发利器VSTS之安装及部署篇
  3. GitHub换帅!开源大神辞任CEO,竞品GitLab刚完成IPO
  4. 怎样格式化电脑_160G移动硬盘做PE启动盘 要怎样做
  5. 神经网络为什么要归一化
  6. 是否所有二分类神经网络的准确率都能无限趋近100%?
  7. 生成对抗网络简介(包含TensorFlow代码示例)【翻译】
  8. WSDM 2022 | 合约广告自适应统一分配框架
  9. 局部描述符表LDT的作用+定义+初始化+跳转相关
  10. Android Fragment功能的例子
  11. 物联网专题--基于APP Inventor的BLE蓝牙4.0数据通信
  12. Fiddler web 调试工具
  13. 如何安装固态硬盘和重装系统???
  14. 网页右下角弹出的图片无法显示
  15. Flutter面试问题总结
  16. 教你添加百度分享按钮
  17. @Autowired和@Resource的区别
  18. 英文文献翻译成中文,推荐哪个软件?
  19. Java利用Set集合去重复
  20. linux 游戏 复刻,魔法门复刻手游官网版-魔法门复刻下载v4.00.9-Linux公社

热门文章

  1. c# websocket 心跳重连_websocket的简单使用
  2. 特殊方法求1~n的和
  3. 玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制
  4. win32中如何使用CString
  5. STL中list用法详解
  6. 网络优化实践探索文章
  7. 使用VMware VSphere WebService SDK进行开发 (六)——检测告警信息
  8. 写了 30 多个 Go 常用文件操作的示例,收藏这一篇就够了
  9. 提问征集:对话VLC首席开发者Jean-Baptiste Kempf
  10. Twitch 沈悦时:国内外互联网直播生态差异