列舉與unique函式

2021-09-10 08:50:57 字數 690 閱讀 8346

題目描述

現有n個正整數,n≤100000,要求出這n個正整數中的第k個最小整數(相同大小的整數只計算一次),k≤400。

輸入第1行為n和k,第2行開始為n個正整數的值,整數間用空格隔開。

輸出第k個最小整數的值;若無解,則輸出「no result」。

樣例輸入

10 3

1 3 3 7 2 5 1 2 4 6

樣例輸出

3沒什麼說的,直接暴力,但不能用氣泡排序,1e5的平方會tl,sort函式其實是快速排序的優化,故不需要手動寫快排函式。

#include

//萬能標頭檔案

using namespace std;

intmain()

sort

(a,a+n)

;//排序,預設為從小到大

n=unique

(a,a+n)

-a;//unique函式的本質是將重複的部分移到字串尾部,而不是刪去,故其長度並未改變,引用需要更新字串長度n

if(k<=n)

printf

("%d\n"

,a[k-1]

);else

printf

("no result\n");

//n以後為重複部分,不計入

return0;

}

unique函式的學習與應用

最近發現了乙個好玩的函式,可以去掉重複的數字或者字母,感覺很強大,以後再也 寫那麼多的 了,兩行核心 就能搞定。unique一般都是與sort連著用。include 排序標頭檔案 include sort f,f n 對函式進行排序 int m unique f,f n f m返回的是前n個元素中不...

unique 去重函式

unique 函式是乙個去重函式,stl中unique的函式 unique的功能是去除相鄰的重複元素 只保留乙個 還有乙個容易忽視的特性是它並不真正把重複的元素刪除。他是c 中的函式,所以標頭檔案要加 include,具體用法如下 int num 100 unique num,mun n 返回的是n...

unique 去重函式

unique 是c 標準庫函式裡面的函式,位於標頭檔案 include中,其功能是去除相鄰的重複元素 只保留乙個 所以使用前需要對陣列進行排序 該函式的乙個使用方法,對於長度為n陣列arr,unique arr,arr n arr返回的是去重後的陣列長度 那它是怎麼實現去重的呢?刪除?不是,它並沒有...