最小K個數之和

2021-08-20 11:50:02 字數 494 閱讀 3776

描述

輸入n個整數,輸出其中最小的k個數之和。例如輸入4,5,1,1,6,2,7,3,3這9個數字,

當k=4,則輸出最小的4個數之和為7(1,1,2,3)。

輸入測試樣例組數不超過10

每個測試案例包括2行:

第一行為2個整數n,k(1<=k<=n<=100000)

第二行包含n個整數,每個整數的範圍為【1~2000】

輸出對應每個測試案例,輸出最小的k個數之和。

樣例輸入

8 45 2 1 3 8 1 9 3

樣例輸出

7

#include#include using namespace std;

int cmp(int a,int b)

int main()

sort(a,a+n,cmp);

for(i=0;iprintf("%d\n",sum);

} return 0;

}

最小K個數之和

描述 輸入n個整數,輸出其中最小的k個數之和。例如輸入4,5,1,1,6,2,7,3,3這9個數字,當k 4,則輸出最小的4個數之和為7 1,1,2,3 輸入測試樣例組數不超過10 每個測試案例包括2行 第一行為2個整數n,k 1 k n 100000 第二行包含n個整數,每個整數的範圍為 1 20...

最小的K個數

問題描述 給定的n個整數,計算其中最小的k個數。最直觀的解法莫過於將n個數按公升序排列後輸出前k個。但是就效率來看,這種方法並不是最理想的。一種改進方法是借助快速排序中對陣列的劃分,以第k個元素對陣列進行劃分,使得比第k個數字小的數字都在其左邊,比其大的數字都在它的右邊。void swap int ...

最小的K個數

從 陣列中出現次數超過一半的數字 得到啟發,同樣可以基於partition函式來解決。一 o n 演算法 void getleastnumbers int input,int n,int output,int k else for int i 0 i k i output i input i 二 o...