目前共有2篇帖子。 內容轉換:不轉換▼
 
點擊 回復
120 1
【试题】算法训练 区间k大数查询
一派護法 十九級
1樓 發表于:2016-4-24 18:05
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct
{
    int l;
    int r;
    int K;
} QUERY;

void query(QUERY *q, int *nums)
{
    int i, j, temp;
    int n = q->r - q->l + 1;
    int *sec = (int *)malloc(n * sizeof(int));
    memcpy(sec, nums + q->l - 1, n * sizeof(int));
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n - i - 1; j++)
        {
            if (sec[j] < sec[j + 1])
            {
                temp = sec[j];
                sec[j] = sec[j + 1];
                sec[j + 1] = temp;
            }
        }
    }
    printf("%d\n", sec[q->K - 1]);
    free(sec);
}

int main()
{
    int i, m, n, *nums;
    QUERY *qs;
    scanf("%d", &n);
    nums = (int *)malloc(n * sizeof(int));
    for (i = 0; i < n; i++)
        scanf("%d", nums + i);
    
    scanf("%d", &m);
    qs = (QUERY *)malloc(m * sizeof(QUERY));
    for (i = 0; i < m; i++)
        scanf("%d%d%d", &qs[i].l, &qs[i].r, &qs[i].K);
        
    for (i = 0; i < m; i++)
        query(qs + i, nums);
    
    free(qs);
    free(nums);
    return 0;
}
一派護法 十九級
2樓 發表于:2016-4-24 18:06
评测结果  正确   得分  100  
CPU使用  390ms  
内存使用  1.703MB 

直接用冒泡排序法,其他什么都别管

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:120 回複數:1
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-4-24 18:06
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。