遞迴-第X大的數
Problem Description
X最近愛上了區間查詢問題,給出N (N <= 100000) 個數,然後進行M (M <= 50) 次詢問,每次詢問時,輸入一個數X (1 <= X <= N),輸出N個數中第X大的數。
Input
多組輸入。
每組首先輸入一個整數N,代表有N個數,下面一行包含N個整數,用空格隔開。然後為一個整數M,代表有M次詢問,下面的M行,每行一個整數X。
Output
輸出N個數中第X大的數。
Sample Input
4 1 2 2 3 4 1 2 3 4
Sample Output
3 2 2 1
#include<stdio.h>
#include<stdlib.h>
int a[100001];
void sort(int l,int r){//快排的思想
int key = a[l];
int i = l,j = r;
while(i < j){
while(i < j && key >= a[j]){
j--;
}
a[i] = a[j];
while(i < j && key <= a[i]){
i++;
}
a[j] = a[i];
}
a[i] = key;
if(l < r){
sort(l,i-1);
sort(i+1,r);
}
}
int main(){
int b,c,d;
while(~scanf("%d",&b)){
for(int i = 0 ; i < b ; i++){
scanf("%d",&a[i]);
}
sort(0,b-1);
scanf("%d",&c);
while(c--){
scanf("%d",&d);
printf("%d\n",a[d-1]);
}
}
return 0;
}
相關文章
- hdu1297大數遞迴遞迴
- 【遞迴打卡2】求兩個有序陣列的第K小數遞迴陣列
- 【遞迴】小q的數列遞迴
- Java語言非遞迴求第n個斐波那契數Java遞迴
- 遞迴 | 第k個語法符號(Python)遞迴符號Python
- 遞迴和尾遞迴遞迴
- 用遞迴求出最大公約數和最小公倍數,求補充最小公倍數的遞迴用法遞迴
- leetcode的第9題:迴文數LeetCode
- 什麼是遞迴?遞迴和迴圈的異同遞迴
- 快速排序【遞迴】【非遞迴】排序遞迴
- 遞迴與分治之大整數乘法遞迴
- 【遞迴SQL】v$session--X$KSUSE s,X$KSLED e對應情況遞迴SQLSession
- 遞迴遞迴
- 輸出區間內的偶數和(遞迴)遞迴
- LeetCode19題 刪除連結串列的倒數第N個節點 (c++ 遞迴)LeetCodeC++遞迴
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- 徹底理解遞迴,從遞迴的本質說起!遞迴
- 分治與遞迴-找k個臨近中位數的數遞迴
- 遞迴實現指數型列舉遞迴
- 遞迴函式,可變引數列表遞迴函式
- 函式的遞迴函式遞迴
- JavaScript中的遞迴JavaScript遞迴
- 用遞迴的方法列印出輸入的任意整數遞迴
- fibonacci斐波那契數列詳解 遞迴求Fn非遞迴求Fn求n最近的斐波那契數遞迴
- Vue3.0的遞迴監聽和非遞迴監聽Vue遞迴
- python-動態規劃的遞迴、非遞迴實現Python動態規劃遞迴
- 揹包問題的遞迴與非遞迴演算法遞迴演算法
- 五大演算法程式碼模板(DFS 遞迴非遞迴都算上,是六個)演算法遞迴
- go 遞迴Go遞迴
- JavaScript遞迴JavaScript遞迴
- 理解遞迴遞迴
- 分而治之-遞迴遞迴
- 大模型原理:遞迴、壓縮和模式匹配大模型遞迴模式
- 遍歷二叉樹-------遞迴&非遞迴二叉樹遞迴
- 二叉樹的四種遍歷(遞迴與非遞迴)二叉樹遞迴
- 遞迴和非遞迴分別實現求n的階乘遞迴
- Java - 13 方法的遞迴Java遞迴
- SQL中的遞迴用法SQL遞迴