import java.util.Arrays;
import java.util.Scanner; public class Main {
public static void main(String[] args) {
Scanner aScanner = new Scanner(System.in);
int n= aScanner.nextInt(); //读第一个
long a[] = new long[n]; //存放数组
long b[] = new long[n]; //备用数组 for(int i=0;i<n;i++)
{
a[i] = aScanner.nextInt();
}
int m = aScanner.nextInt();
int []l = new int[1001];
int []r = new int[1001];
int []k = new int[1001];
for(int i=0;i<m;i++)
{
l[i] = aScanner.nextInt();
r[i] = aScanner.nextInt();
k[i] = aScanner.nextInt();
for(int j=l[i]-1;j<r[i];j++)
{
b[j-l[i]+1] = a[j];
}
Arrays.sort(b);
System.out.println(b[b.length-k[i]]);
Arrays.fill(b, '\0'); }
}
}

  刚开始做的时候使用的二维数组,使用冒泡排序,但涉及到了三层循环,最后虽然结果出来了,但是运行超时。

  于是就需求更优化的方法,后来参考网上的标准答案后有一个排序函数可以用sort()函数,直接使用Arrays.sort()函数对数组进行从小到大的排序,每次得出结果后直接输出。

同时循环一次后需要对结果进行清空,我使用的是Arrays.fill()函数,用‘\0’来填充,但也有不足的地方,会在清空后都是0的形式存在,数组的长度没有变化,所以需要我之后进一步改进,最后的评测结果如图:仍旧有一个运行超时!!,仅供参考

注:网络查找标准答案代码(Java,未加头文件,自行加入):

public class Main
{
private static BufferedInputStream in = new BufferedInputStream(System.in);
public static void main(String[] args) throws IOException {
int []nums = new int[readint()]; for(int i=0;i<nums.length;i++)
{
nums[i] = readint();
}
for(int i=readint();i>0;i--)
{
int a = readint();
int b = readint();
int c = readint(); int[] tn = new int[b-a+1]; for(int j=0;j<tn.length;j++)
{
tn[j] = nums[a-1+j];
}
Arrays.sort(tn); System.out.println(tn[tn.length-c]);
}
} private static int readint()throws IOException {
// TODO Auto-generated method stub
int i,sum=0;
while(((i=in.read())&48)!=48||i>57); for(;(i&56)==48||(i&62)==56;i=in.read())
sum = sum*10+(i&15);
return sum;
}
}

最新文章

  1. html5存储方式localstorage和sessionStorage
  2. Linux如何搜索查找文件里面内容
  3. IOS OC 多任务定时器 NSRunLoop 管理 NSTimer
  4. 十分钟学会mysql数据库操作
  5. python decorator的理解
  6. Html Div 拖拽
  7. explicit构造函数的作用
  8. IOS开发之路三(XML解析之KissXML的使用)
  9. Myeclipse2014添加mybatis generator插件
  10. cocos2d-x CCScrollView
  11. CSS3 媒体记
  12. pl/sql插入报错
  13. uva 592 Island of Logic (收索)
  14. Unix/Linux中的grep命令(转)
  15. DAY10函数
  16. ckeditor,关于数据回显
  17. 小tips:JS之浅拷贝与深拷贝
  18. Java内存泄漏定位
  19. 在Ubuntu中通过update-alternatives切换软件版本
  20. CentOS6.5使用yum快速搭建LAMP环境

热门文章

  1. SpringBoot 2.0 + Nacos + Sentinel 流控规则集中存储
  2. 〈三〉ElasticSearch的认识:搜索、过滤、排序
  3. 即时聊天APP(五) - 聊天界面
  4. jmeter 查看结果树数据分析 优化
  5. 关于svn更新失败,clearup异常解决
  6. python最基本的数据掌握
  7. 在vue中使用[provide/inject]实现页面reload
  8. connection pool exhausted
  9. 蓝松SDK - 卡点视频制作介绍
  10. 有了 CompletableFuture,使得异步编程没有那么难了!