zoukankan      html  css  js  c++  java
  • PAT——1060. 爱丁顿数

    英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。

    现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(<=N)。

    输入格式:

    输入第一行给出一个正整数N(<=105),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。

    输出格式:

    在一行中给出N天的爱丁顿数。

    输入样例:

    10
    6 7 6 9 3 10 8 2 7 8
    

    输出样例:

    6
    
     1 package com.hone.basical;
     2 import java.util.Arrays;
     3 import java.util.Scanner;
     4 /**
     5  * 原题目:https://www.patest.cn/contests/pat-b-practise/1059
     6  * @author Xia
     7  * 思路:拿到这个题目的第一个想法是将所有的数据排序,然后从大到小开始输出。
     8  * 试想一下最佳的情况:第i天的时候,刚好a[i] = (大于a[i]的天数)=N-i,则大于a[i]的天数则为N-i-1
     9  * 那么如果没有相等的情况,则刚好a[i] 小于(大于a[i]的天数)=N-i 的时候,输出结果,并且跳出循环(这是为什么if里面取<=)
    10  * 特殊情况:如果给定N天,并且每一天的骑行都大于N,则直接输出N
    11  * 还是有一个测试点超时!!!
    12  */
    13 
    14 public class basicalLevel1060EddingtonNumber {
    15 
    16     public static void main(String[] args) {
    17         Scanner in = new Scanner(System.in);
    18         int N = Integer.parseInt(in.nextLine());        //骑车的天数
    19         int[] a = new int[N];
    20         for (int i = 0; i < N; i++) {
    21             a[i] = in.nextInt();
    22         }
    23         
    24         Arrays.sort(a);
    25         if (a[0] > N) {
    26             System.out.println(N);
    27         }
    28         for (int i = a.length-1; i >= 0; i--) {
    29             if (a[i] <= a.length-i) {        //这里不能等于,应该小于等于(a.length-i)表示对应的天数
    30                 System.out.println(N-1-i);
    31                 break;
    32             }
    33         }
    34     }
    35 }
  • 相关阅读:
    Ubuntu adb devices :???????????? no permissions (verify udev rules) 解决方法
    ubuntu 关闭显示器的命令
    ubuntu android studio kvm
    ubuntu 14.04版本更改文件夹背景色为草绿色
    ubuntu 创建桌面快捷方式
    Ubuntu 如何更改用户密码
    ubuntu 14.04 返回到经典桌面方法
    ubuntu 信使(iptux) 创建桌面快捷方式
    Eclipse failed to get the required ADT version number from the sdk
    Eclipse '<>' operator is not allowed for source level below 1.7
  • 原文地址:https://www.cnblogs.com/xiaxj/p/8004526.html
Copyright © 2011-2022 走看看