亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++實現的O(n)復雜度內查找第K大數算法示例

2020-01-26 13:57:46
字體:
來源:轉載
供稿:網友

本文實例講述了C++實現的O(n)復雜度內查找第K大數算法。分享給大家供大家參考,具體如下:

題目:是在一組數組(數組元素為整數,可正可負可為0)中查找乘積最大的三個數,最后輸出最大乘積。

從題目我們知道只有兩種結果存在:
1)三個最大的正整數相乘;
2)一個最大的正整數和兩個最小的負數相乘。

所以我們需要找出數組中最大的三個數的乘積m,然后與數組中最小的兩個數相乘再與最大的數相乘的結果n,然后比較m,n,選出最大的數即為最終的結果。

參考代碼://www.49028c.com/article/121189.htm

實現代碼:

#include <iostream>#include <algorithm>//分區int partition(std::vector<int>&vec,int start,int end) { int value=vec[end]; int tail=start-1; for(int i=start;i<end;++i){  if(vec[i]<value){   tail++;   std::swap(vec[i],vec[tail]);  } } tail++; std::swap(vec[tail],vec[end]); return tail;}long long solve(std::vector<int>&vec,int start,int end,int k) { //快排思想,進行分區,快排復雜度為O(nlgn),但取最值只比較分區的一個區間,所以為O(n) int now = partition(vec,start,end); if(k < now)  return solve(vec,start,now-1,k); else if(k > now)  return solve(vec,now+1,end,k); else  return vec[now];}int main() { int n;//要比較的數的個數 while(std::cin>>n) {  std::vector<int> vec_i(n,0);//使用vector存儲n個數  for(int i = 0; i < n; ++i) {   std::cin>>vec_i[i];  }  int k;  //最大的數,index為n-1  k = n - 1;  long long x1 = solve(vec_i,0, n-1,k);  //次大的數,index為n-2  k = n - 2;  long long x2 = solve(vec_i,0, n-2,k);  //第三大的數  k = n - 3;  long long x3 = solve(vec_i,0, n-3,k);  long long Ans = x1 * x2 * x3;//最大的三個數的乘積  if(n > 3) {   //最小的數,index為0   k = 0;   long long y1 = solve(vec_i,0, n-1,k);   //次小的數,index為1   k = 1;   long long y2 = solve(vec_i,0, n-2,k);   Ans = std::max(Ans, y1*y2*x1);//兩者比較取最大  }  std::cout<<Ans; } return 0;}

希望本文所述對大家C++程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线视频观看| 日韩欧美国产激情| 国产成人+综合亚洲+天堂| 欧美激情18p| 亚洲第一精品自拍| 欧美一级淫片aaaaaaa视频| 久久精品国产一区二区三区| 国产精品成av人在线视午夜片| 国产亚洲欧洲在线| 国产福利精品视频| 亚洲性线免费观看视频成熟| 欧美一区亚洲一区| 91老司机精品视频| 久久久久久久久国产精品| 深夜福利日韩在线看| 欧美日韩国产色视频| 日本人成精品视频在线| 成人两性免费视频| 亚洲天堂男人天堂女人天堂| 欧美福利视频在线| 国产精品久久久久久久久久| 亚洲国产精品系列| 久久综合88中文色鬼| 日韩av电影中文字幕| 亚洲在线视频福利| 久久久精品亚洲| 18性欧美xxxⅹ性满足| 欧美一级淫片aaaaaaa视频| 中日韩午夜理伦电影免费| 一本一本久久a久久精品牛牛影视| 久久精品99久久久久久久久| 久久精品这里热有精品| 国产精品人人做人人爽| 亚洲国产精品99| 久久久久久久色| 中文字幕精品一区二区精品| 欧美日韩国产第一页| 欧美在线一区二区视频| 97超碰国产精品女人人人爽| 日本成人在线视频网址| 91视频九色网站| 欧美精品18videos性欧| 狠狠躁夜夜躁人人躁婷婷91| 日韩精品极品在线观看播放免费视频| 91免费高清视频| 欧美日韩一区二区精品| 亚洲男人天堂网站| 永久555www成人免费| 国产精彩精品视频| 国产日韩欧美影视| 91精品国产免费久久久久久| 久久精品影视伊人网| 国产亚洲精品va在线观看| 亚洲国产精品久久久久秋霞蜜臀| 亚洲人成电影网| 色香阁99久久精品久久久| 中文国产成人精品| 97精品国产97久久久久久春色| 亚洲精品国产拍免费91在线| 日本中文字幕不卡免费| 久久视频国产精品免费视频在线| 91极品女神在线| 国产欧美一区二区三区久久人妖| 日韩在线一区二区三区免费视频| 日韩欧美精品中文字幕| 欧美亚洲第一区| 精品偷拍各种wc美女嘘嘘| 日韩免费av一区二区| 亚洲精品日韩久久久| 国产精品视频永久免费播放| 欧美电影免费观看高清完整| 精品久久久久久电影| 欧美中文字幕精品| 久久综合久中文字幕青草| 国产精品一区二区av影院萌芽| 亚洲电影免费观看高清完整版| 97热在线精品视频在线观看| 一本一本久久a久久精品牛牛影视| 色综合天天狠天天透天天伊人| 国产精品99久久久久久www| 中文字幕视频一区二区在线有码| 亚洲精品色婷婷福利天堂| 激情成人在线视频| 国产日韩欧美黄色| 色偷偷888欧美精品久久久| 成人免费网站在线观看| 亚洲欧洲日本专区| 4388成人网| 亲子乱一区二区三区电影| 国产精品高清免费在线观看| 亚洲人成电影网站色…| 伊人久久免费视频| 欧美午夜精品久久久久久久| 97精品一区二区视频在线观看| 国产精品一久久香蕉国产线看观看| 26uuu另类亚洲欧美日本老年| 亚洲人成伊人成综合网久久久| 97精品欧美一区二区三区| 欧美一级黄色网| 日本久久久a级免费| 欧美性极品xxxx娇小| www欧美xxxx| 国产成人精品电影久久久| 麻豆国产va免费精品高清在线| 国内精品国产三级国产在线专| 川上优av一区二区线观看| 久久精品成人欧美大片古装| 性色av一区二区三区在线观看| 国产+成+人+亚洲欧洲| 日韩一区二区av| 亚洲精品网址在线观看| 亚洲第一福利在线观看| 国产亚洲视频在线| 欧美在线观看日本一区| 色香阁99久久精品久久久| 欧美成人网在线| 欧美超级乱淫片喷水| 日韩精品在线免费观看| 久久精品国产亚洲精品| 欧美大片免费观看在线观看网站推荐| 成人激情av在线| 亚洲精品456在线播放狼人| 欧美大胆在线视频| 性色av一区二区三区在线观看| 国产视频精品va久久久久久| 成人免费激情视频| 亚州国产精品久久久| 国产亚洲日本欧美韩国| 日韩成人在线网站| 久久久久久综合网天天| 日韩在线观看视频免费| 欧美成人精品一区二区| 日韩av电影中文字幕| 国产精品户外野外| 欧美专区在线播放| 成人福利视频在线观看| 亚洲一区二区久久| 成人黄色影片在线| 91高清免费在线观看| 亚洲理论片在线观看| 久久精品国产亚洲| xxx成人少妇69| 在线成人免费网站| 欧美精品videossex性护士| 日韩在线观看免费网站| 国产精品户外野外| 国产精品久久久久久超碰| 欧美精品久久一区二区| 亚洲精品日韩av| 国产91成人在在线播放| 成人亚洲欧美一区二区三区| 国产高清视频一区三区| 亚洲欧洲第一视频| 久久久久久美女| 国产精品偷伦免费视频观看的| 亚洲人成在线观看网站高清| 久久久女人电视剧免费播放下载| 成人妇女免费播放久久久| 日韩有码在线观看| 国产精品久久久久久久app| 美女久久久久久久| 久久精品99久久久香蕉| 欧美激情小视频| 精品视频9999|