354 俄羅斯套娃信封問題

2021-10-21 00:11:20 字數 964 閱讀 4978

給定一些標記了寬度和高度的信封,寬度和高度以整數對形式 (w, h) 出現。當另乙個信封的寬度和高度都比這個信封大的時候,這個信封就可以放進另乙個信封裡,如同俄羅斯套娃一樣。

請計算最多能有多少個信封能組成一組「俄羅斯套娃」信封(即可以把乙個信封放到另乙個信封裡面)。

說明:不允許旋轉信封。

輸入: envelopes = [[5,4],[6,4],[6,7],[2,3]]

輸出: 3

解釋: 最多信封的個數為 3, 組合為: [2,3] => [5,4] => [6,7]。

乙個變形的最長子序列問題。

首先將所有信封按照w公升序排列,對於w相同的信封按照h降序排列。

為什麼這麼做呢?

假設有信封(1,1),(2,2),(2,3),如果按照h公升序的話,那麼通過h得到的lis為「1,2,3」,但實際上(2,3)雖然比(2,2)大,但是卻不能按照題目要求巢狀(因為只有兩個屬性都滿足大於條件才能巢狀)。

如果是按h降序,那麼排列為(1,1),(2,3),(2,2)。在w相同的情況下,最長子列只會包含乙個該w下的元組。所以按照上面說的排序方法,對h屬性求lis,得到的就是最終答案啦

public

class

solution

return b[1]

- a[1]

;}})

;//lis

int[

]arr =

newint

[len]

;int now =

0,left =

0,right =

0,top =0;

for(

int i =

0;i < len;i++

)else

}//把元素更新到目標位置

if(left == top)

else

}return top;

}}

354 俄羅斯套娃信封問題

354.俄羅斯套娃信封問題 給定一些標記了寬度和高度的信封,寬度和高度以整數對形式 w,h 出現。當另乙個信封的寬度和高度都比這個信封大的時候,這個信封就可以放進另乙個信封裡,如同俄羅斯套娃一樣。請計算最多能有多少個信封能組成一組 俄羅斯套娃 信封 即可以把乙個信封放到另乙個信封裡面 說明 不允許旋...

354 俄羅斯套娃信封問題

給你乙個二維整數陣列 envelopes 其中 envelopes i wi,hi 表示第 i 個信封的寬度和高度。當另乙個信封的寬度和高度都比這個信封大的時候,這個信封就可以放進另乙個信封裡,如同俄羅斯套娃一樣。請計算 最多能有多少個 信封能組成一組 俄羅斯套娃 信封 即可以把乙個信封放到另乙個信...

俄羅斯套娃信封問題(LeetCode 354)

給定一些標記了寬度和高度的信封,寬度和高度以整數對形式 w,h 出現。當另乙個信封的寬度和高度都比這個信封大的時候,這個信封就可以放進另乙個信封裡,如同俄羅斯套娃一樣。請計算最多能有多少個信封能組成一組 俄羅斯套娃 信封 即可以把乙個信封放到另乙個信封裡面 說明 不允許旋轉信封。示例 輸入 enve...