最長遞歸子序列
成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元北鎮(zhèn)做網(wǎng)站,已為上家服務(wù),為北鎮(zhèn)各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
設(shè)L=<a1,a2,…,an>是n個不同的實(shí)數(shù)的序列,L的遞增子序列是這樣一個子序列Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm。求最大的m值。
1.時間復(fù)雜度為O(n2),空間復(fù)雜度O(n)的算法
//O(n2) int LIS1(const int arr[], const int size) { vector<int> h; h.push_back(1); int index = 1; int max = 1; while (index < size) { int longest_sub_size = 0; for (int j = 0; j < index; ++j) { if (arr[j] < arr[index] && longest_sub_size < h[j]) { longest_sub_size = h[j]; if (max < longest_sub_size+1) { max = longest_sub_size + 1; } } } h.push_back(longest_sub_size + 1); ++index; } return max; }
2.時間復(fù)雜度O(n*log n),空間復(fù)雜度O(n)的算法
int BinSearch(int key, int* d, int low, int high) { while(low<=high) { int mid = (low+high)>>1; if(key>d[mid] && key<=d[mid+1]) return mid; else if(key>d[mid]) low = mid+1; else high = mid-1; } return 0; } int LIS(int* a, int n, int* d) { int i,j; d[1] = a[1]; int len = 1; //遞增子序列長度 for(i = 2; i <= n; i++) { if(d[len]<a[i]) j = ++len; else j = BinSearch(a[i],d,1,len) + 1; d[j] = a[i]; } return len; }
網(wǎng)頁名稱:動態(tài)規(guī)劃——最長遞增子序列
標(biāo)題路徑:http://m.newbst.com/article42/gsegec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)