日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode1039. 多边形三角剖分的最低得分(动态规划)

發布時間:2023/11/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode1039. 多边形三角剖分的最低得分(动态规划) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

給定 N,想象一個凸 N 邊多邊形,其頂點按順時針順序依次標記為 A[0], A[i], …, A[N-1]。

假設您將多邊形剖分為 N-2 個三角形。對于每個三角形,該三角形的值是頂點標記的乘積,三角剖分的分數是進行三角剖分后所有 N-2 個三角形的值之和。

返回多邊形進行三角剖分后可以得到的最低分。

示例 1:

輸入:[1,2,3]
輸出:6
解釋:多邊形已經三角化,唯一三角形的分數為 6。

圖解狀態轉移

dp[i][j]代表區間(i,j)內多邊形進行三角剖分后可以得到的最低分

代碼

class Solution {public int minScoreTriangulation(int[] A) {int n=A.length;int[][] dp=new int[n][n];for(int i=0;i<n;i++)Arrays.fill(dp[i],Integer.MAX_VALUE);for(int i=0;i<n;i++)dp[i][(i+1)%n]=0;for(int len=2;len<n;len++)for (int left=0;left<n;left++){int right=(left+len)%n;for(int loc=(left+1)%n;loc!=right;loc=(loc+1)%n)dp[left][right]= Math.min(dp[left][right],dp[left][loc]+dp[loc][right]+A[loc]*A[left]*A[right]);}return dp[0][n-1];} }

總結

以上是生活随笔為你收集整理的leetcode1039. 多边形三角剖分的最低得分(动态规划)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。