91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

動態規劃——最長遞增子序列

發布時間:2020-07-24 07:35:22 來源:網絡 閱讀:677 作者:zgw285763054 欄目:編程語言

最長遞歸子序列

設L=<a1,a2,…,an>是n個不同的實數的序列,L的遞增子序列是這樣一個子序列Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm。求最大的m值。


1.時間復雜度為O(n2),空間復雜度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.時間復雜度O(n*log n),空間復雜度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;  
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

息烽县| 四会市| 大埔区| 繁昌县| 桦川县| 林口县| 三原县| 黔江区| 康平县| 曲靖市| 休宁县| 潞西市| 黑龙江省| 云安县| 石嘴山市| 伊金霍洛旗| 任丘市| 汨罗市| 沐川县| 辛集市| 九台市| 滨海县| 南安市| 于都县| 太康县| 长武县| 阳春市| 扬州市| 白沙| 保康县| 营口市| 黎平县| 林州市| 五台县| 古蔺县| 会昌县| 北碚区| 枣阳市| 盈江县| 永宁县| 廊坊市|