前言
今天中午筆者立下了乙個flag帖,晚自習的筆者來解決flag了!~
參考題解
題目描述
有 n 個西瓜,編號為0 到 n-1,每個西瓜上都標有乙個數字,這些數字存在陣列 nums 中。
現在要求你戳破所有的西瓜。每當你戳破乙個西瓜 i 時,你可以獲得 nums[left] *nums[i] *nums[right] 個硬幣。 這裡的 left 和 right 代表和 i 相鄰的兩個西瓜的序號。注意當你戳破了西瓜 i 後,西瓜 left 和西瓜 right 就變成了相鄰的西瓜。
求所能獲得硬幣的最大數量。
輸入格式
共兩行。
第一行:乙個正整數n,代表西瓜個數。
第二行:共n個數字,每個數字表示西瓜上標的數字。
輸出格式
一行,乙個整數,獲得硬幣的最大數量。
樣例樣例輸入
43 1 5 8
樣例輸出
167解釋:
nums = [3,1,5,8] --> [3,5,8] --> [3,8] --> [8] -->
coins = 315 + 358 + 138 + 181 = 167
資料範圍與提示
你可以假設 nums[-1] = nums[n] = 1,但注意它們不是真實存在的西瓜,所以並不能被戳破。
0 ≤ n ≤ 500, 0 ≤ nums[i] ≤ 100
思路設dp[i][j]為i~j之間最大的和,(i, j)
因為這與前一和後一都有關
列舉k點(k為最後戳爆的點)那麼i,j就可以相鄰
如下圖那麼我們就需要知道dp[i][k], 和dp[k][j](再次重申開區間)
}如果覺得有幫助的話,記得留下你的贊哦~
題解 戳西瓜
有 n 個西瓜,編號為 0 00 到 n 1 n 1n 1 每個西瓜上都標有乙個數字,這些數字存在陣列 num snums nums 中。現在要求你戳破所有的西瓜。每當你戳破乙個西瓜i ii時,你可以獲得 num s le ft nums i nums rig ht nums left nums i...
To Heart 題解 戳西瓜
請不要吝嗇你的點讚!有 n 個西瓜,編號為0 到 n 1,每個西瓜上都標有乙個數字,這些數字存在陣列 nums 中。現在要求你戳破所有的西瓜。每當你戳破乙個西瓜 i 時,你可以獲得 nums left nums i nums right 個硬幣。這裡的 left 和 right 代表和 i 相鄰的兩...
leetcode 312 戳氣球(區間dp)
312.戳氣球 難度困難297 有n個氣球,編號為0到n 1,每個氣球上都標有乙個數字,這些數字存在陣列nums中。現在要求你戳破所有的氣球。每當你戳破乙個氣球i時,你可以獲得nums left nums i nums right 個硬幣。這裡的left和right代表和i相鄰的兩個氣球的序號。注意...