Java语言实现ALGO-1 区间k大数查询 排序 查找 (算法训练)



import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int[] arr=new int[n+1];
		for(int i=1;i<=n;i++) {
			arr[i]=in.nextInt();
		}
		
		int[] a = new int[n+1]; 
		int temp;
		int l,r,k;
		int m=in.nextInt();
		for(int i=1;i<=m;i++) {
			for(int j=1;j<=n;j++) {
				a[j]=arr[j];
			}
			l=in.nextInt();
			r=in.nextInt();
			k=in.nextInt();
			//序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个
			for(int x=l;x<=r;x++) {
				for(int j=x;j<=r;j++) {
					if(a[j]>a[x]) {
						temp=a[j];
						a[j]=a[x];
						a[x]=temp;
					}
				}
			}
			System.out.println(a[l+k-1]);
		}
	}

}

 

上一篇:【algo&ds】5.图及其存储结构、遍历


下一篇:SO-Net中的index_max的功能及具体实现