美文网首页
lq_xunlian_Main1(区间k大数查询)

lq_xunlian_Main1(区间k大数查询)

作者: 凤凰城的传说 | 来源:发表于2017-10-27 21:44 被阅读16次

    问题描述

    给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。

    输入格式

    第一行包含一个数n,表示序列长度。

    第二行包含n个正整数,表示给定的序列。

    第三个包含一个正整数m,表示询问个数。

    接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。

    输出格式

    总共输出m行,每行一个数,表示询问的答案。

    样例输入

    5

    1 2 3 4 5

    2

    1 5 2

    2 3 2

    样例输出

    4

    2

    数据规模与约定

    对于30%的数据,n,m<=100;

    对于100%的数据,n,m<=1000;

    保证k<=(r-l+1),序列中的数<=106。

    解题思路:

        导入Scanner进行输入各种数据,m次,所以用while(m-->0){}进行循环操作。先将a[]中l~r的数据备份到s,把s中的数据进行从大到小排序,这里用个冒泡排序,最后输出第k-1个位置上的数据,就是第k大的数字。

    源代码:

    lq_xunlian_Main1

    相关文章

      网友评论

          本文标题:lq_xunlian_Main1(区间k大数查询)

          本文链接:https://www.haomeiwen.com/subject/oegdpxtx.html