zoukankan      html  css  js  c++  java
  • P1001 第K极值

    P1001 K极值

    时间: 1000ms / 空间: 131072KiB / Java类名: Main

    背景

    成成第一次模拟赛 第一道

    描述

    给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数字减去第k小的数字的值m,并判断m是否为质数。(0<k<=n)

    输入格式

    输入格式:

    第一行为2个数nk(含义如上题)

    第二行为n个数,表示这个序列

    输出格式

    输出格式:

    如果m为质数则

    第一行为'YES'(没有引号)

    第二行为这个数m

    否则 

    第一行为'NO'

    第二行为这个数m

    测试样例1

    输入

    5 2 

    1 2 3 4 5

    输出

    YES 

    2

    备注

    对于第K大的详细解释:

    如果一个序列为1 2 2 2 2 3

    1大 为3

    2大 为2

    3大 为2

    4大 为2

    5大 为1

    K小与上例相反

    另外需要注意的是

    最小的质数是2,如果小于2的话,请直接输出NO

    原创……

    -------------------------------------------------

    刚开始打了一个素数表,  结果提示Runtime Error ,就通过了几组数据。。

        然后改方法直接判断是不是素数了。。。。

    -------------------------------------------------------------------------------------------

    import java.util.Arrays;
    import java.util.Scanner;
    public class Main {
    
        static boolean is_prime(int n){
            if(n<=1) return false;
            if (n==2)return true;
             for(int i=3;i<=Math.sqrt(n);i++){
                 if(n%i==0) return false;
             }
             return true;
            
            
        }
        
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            while(sc.hasNext()){
                int n=sc.nextInt();
                
            
                int a[]=new int[n];
                int k=sc.nextInt();
                for(int i=0;i<n;i++)
                    a[i]=sc.nextInt();
                Arrays.sort(a);
                int tmp=a[k-1];
                int tmp1=a[n-k];
                if(tmp1-tmp<=1){
                    System.out.println("NO");
                }
                else{
                if(is_prime(tmp1-tmp))
                    System.out.println("YES");
                else
                System.out.println("NO");
                
                }
                System.out.println(tmp1-tmp);
            }
            sc.close();
    
        }
    
    }
  • 相关阅读:
    主成分分析(PCA)原理及推导
    SVD在推荐系统中的应用详解以及算法推导
    奇异值分解(SVD)原理详解及推导
    jdk1.8源码学习笔记
    #WeakHashMap
    #TreeSet
    如何在Centos7安装swoole的PHP扩展
    Photoshop 使用过程中遇到的问题
    Sublime 配置 Markdown,并实时预览
    移动端响应式布局,rem动态更新
  • 原文地址:https://www.cnblogs.com/watchfree/p/5325567.html
Copyright © 2011-2022 走看看