当前位置:   article > 正文

华为od机考_找座位_Java

华为od机考_找座位_Java

华为od机考_找座位_Java

题目

在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。

输入描述: 一个数组,用来标识某一排座位中,每个座位是否己经坐人。0表示该座位没有坐人,1表示该座位已经坐人。 输出描述: 整数,在不移动现有观众座位的情况下,最多还能坐下多少名观众。 备注: 1<=数组长度≤=10000

示例1 输入 10001 输出 1 示例2 输入 0101 输出 0

代码

  1. public class Test8 {
  2. public static int maxAdditionalAudience(int[] seats){
  3. int result = 0;
  4. for(int i = 0; i < seats.length; i++){
  5. boolean left = (i == 0) || (seats[i-1] == 0);
  6. boolean right = (i == seats.length - 1) || (seats[i+1] == 0);
  7. if(seats[i] == 0 && left && right){
  8. seats[i] = 1;
  9. result++;
  10. }
  11. }
  12. return result;
  13. }
  14. public static void main(String[] args) {
  15. Scanner s = new Scanner(System.in);
  16. String in = s.nextLine();
  17. s.close();
  18. int[] seats = new int[in.length()];
  19. for(int i = 0; i<in.length(); i++){
  20. seats[i] = in.charAt(i) - '0';
  21. }
  22. System.out.println(maxAdditionalAudience(seats));
  23. }
  24. }

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/846538
推荐阅读
相关标签
  

闽ICP备14008679号