LintCode 516 房屋染色II

2021-10-02 12:19:45 字數 910 閱讀 7088

序列型動態規劃

與lintcode 515類似,由於顏色數從3變為k,源**經過簡單修改也可ac。

time:3142ms
public

class

solution}}

int res=integer.max_value;

for(

int i=

0;i)return res;

}}

但可在尋找最小值時進行優化,將原演算法複雜度o(n

k2

)o(nk^2)

o(nk2)

降為o (n

k)

o(nk)

o(nk)。

min1為在f[i-1]行中的最小值,min2為在f[i-1]行中次小值,f[i][j]如果與f[i-1]行得最小值顏色相同,則加上min2,如果不同,直接加min1

注意一下維護最小值和次小值的方法.

time:1626ms
public

class

solution

else

if(f[i-1]

[j]}for

(int j=

0;jint res=integer.max_value;

for(

int i=

0;i)return res;

}}

房屋染色 LintCode

這裡有n個房子在一列直線上,現在我們需要給房屋染色,分別有紅色藍色和綠色。每個房屋染不同的顏色費用也不同,你需要設計一種染色方案使得相鄰的房屋顏色不同,並且費用最小。費用通過乙個nx3 的矩陣給出,比如cost 0 0 表示房屋0染紅色的費用,cost 1 2 表示房屋1染綠色的費用。注意事項 所有...

515 房屋染色 序列型動態規劃

中文english 這裡有n個房子在一列直線上,現在我們需要給房屋染色,分別有紅色藍色和綠色。每個房屋染不同的顏色費用也不同,你需要設計一種染色方案使得相鄰的房屋顏色不同,並且費用最小,返回最小的費用。費用通過乙個nx3的矩陣給出,比如cost 0 0 表示房屋0染紅色的費用,cost 1 2 表示...

LintCode 房屋染色II

這裡有n個房子在一列直線上,現在我們需要給房屋染色,共有k種顏色。每個房屋染不同的顏色費用也不同,你需要設計一種染色方案使得相鄰的房屋顏色不同,並且費用最小。費用通過乙個nxk的矩陣給出,比如cost 0 0 表示房屋0染顏色0的費用,cost 1 2 表示房屋1染顏色2的費用。經典的動態規劃問題,...