1024節,又是動歸的2天。。

2021-10-25 05:14:58 字數 1748 閱讀 2832

我們需要將這些片段進行再剪輯,並將剪輯後的內容拼接成覆蓋整個運動過程的片段([0, t])。返回所需片段的最小數目,如果無法完成該任務,則返回 -1 。

示例 1:

輸入:clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]], t = 10

輸出:3

解釋:我們選中 [0,2], [8,10], [1,9] 這三個片段。

然後,按下面的方案重制比賽片段:

將 [1,9] 再剪輯為 [1,2] + [2,8] + [8,9] 。

現在我們手上有 [0,2] + [2,8] + [8,10],而這些涵蓋了整場比賽 [0, 10]。

示例 2:

輸入:clips = [[0,1],[1,2]], t = 5

輸出:-1

解釋:我們無法只用 [0,1] 和 [1,2] 覆蓋 [0,5] 的整個過程。

示例 3:

輸入:clips = [[0,1],[6,8],[0,2],[5,6],[0,4],[0,3],[6,7],[1,3],[4,7],[1,4],[2,5],[2,6],[3,4],[4,5],[5,7],[6,9]], t = 9

輸出:3

解釋:我們選取片段 [0,4], [4,7] 和 [6,9] 。

示例 4:

1 <= clips.length <= 100

0 <= clips[i][0] <= clips[i][1] <= 100

0 <= t <= 100

![在這裡插入

class solution }}

return dp[t] == integer.max_value - 1 ? -1 : dp[t];}}

我們把陣列 a 中符合下列屬性的任意連續子陣列 b 稱為 「山脈」:

b.length >= 3

存在 0 < i < b.length - 1 使得 b[0] < b[1] < … b[i-1] < b[i] > b[i+1] > … > b[b.length - 1]

(注意:b 可以是 a 的任意子陣列,包括整個陣列 a。)

給出乙個整數陣列 a,返回最長 「山脈」 的長度。

如果不含有 「山脈」 則返回 0。

示例 1:

輸入:[2,1,4,7,3,2,5]

輸出:5

解釋:最長的 「山脈」 是 [1,4,7,3,2],長度為 5。

示例 2:

輸入:[2,2,2]

輸出:0

解釋:不含 「山脈」。

又是一年的1024程式設計師節

1024 順便記錄個筆試中的智力題吧 在12個球中找出乙個質量不一樣的來。有12個外觀一致的小球,其中只有乙個小球與其他的小球質量不同 不知道是多是少 怎麼用乙個天平稱三次把這個不一樣的小球找出來?首先你得告訴我乙個前提,這個球是比其他重還是比其他輕,現在假設它比其他球重。第一種方法 過程如下 第一...

對遞迴和動歸的理解

遞迴演算法就是通過解決同一問題的乙個或多個更小的例項來最終解決乙個大問題的演算法。為了在c語言中實現遞迴演算法,常常使用遞迴函式,也就是說能呼叫自身的函式。遞迴程式的基本特徵 它呼叫自身 引數的值更小 具有終止條件,可以直接計算其結果。在使用遞迴程式時,我們需要考慮程式設計環境必須能夠保持乙個其大小...

hdu 3466 要排序的動歸

題意 給定 n個物品 每個物品有 p q v 必須滿足q才能買這個物品,求價值最大 兩天時間的思考,首先要理解無後效性,動歸的乙個應用條件就是無後效性,在普通揹包裡面,是否排序它都是無後效性的,我覺得理解的時候得按照現實和 兩種理解,因為代價和價值相等,所以在dp陣列裡面是否排序,其實在決策之間是不...