当前位置: 首页 > wzjs >正文

网站中数据查询如何做杭州百度推广

网站中数据查询如何做,杭州百度推广,去西安旅游最佳路线,什么网站可下载可做海报的图片文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 1039. 多边形三角剖分的最低得分 - 力扣(LeetCode) 2. 题目描述 你有一个凸的 n 边形,其每个顶点都有一个整数值。给定一个整数数组 values &…

文章目录

      • 1. 题目链接
      • 2. 题目描述
      • 3. 题目示例
      • 4. 解题思路
      • 5. 题解代码
      • 6. 复杂度分析

1. 题目链接


1039. 多边形三角剖分的最低得分 - 力扣(LeetCode)

2. 题目描述


你有一个凸的 n 边形,其每个顶点都有一个整数值。给定一个整数数组 values ,其中 values[i] 是第 i 个顶点的值(即 顺时针顺序 )。

假设将多边形 剖分 为 n - 2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 n - 2 个三角形的值之和。

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

3. 题目示例


示例 1 :

输入:values = [1,2,3]
输出:6
解释:多边形已经三角化,唯一三角形的分数为 6

示例 2 :

输入:values = [3,7,4,5]
输出:144
解释:有两种三角剖分,可能得分分别为:3*7*5 + 4*5*7 = 245,或 3*4*5 + 3*4*7 = 144。最低分数为 144。

示例 3 :

输入:values = [1,3,1,4,1,5]
输出:13
解释:最低分数三角剖分的得分情况为 1*1*3 + 1*1*4 + 1*1*5 + 1*1*1 = 13。

4. 解题思路


  1. 问题理解
    • 给定一个凸多边形的顶点值数组,需要将其三角剖分成若干个三角形
    • 每个三角形的得分为三个顶点值的乘积
    • 目标是找到使所有三角形得分之和最小的三角剖分方式
  2. 动态规划思路
    • 定义memo[i][j]表示从顶点i到j的最小三角剖分分数
    • 基本情况:当i和j相邻时(只有两个顶点),无法形成三角形,得分为0
    • 状态转移:枚举所有可能的中间顶点k(i < k < j),将多边形分成左右两部分
      • 总得分 = 左部分得分 + 右部分得分 + 当前三角形得分(v[i]*v[j]*v[k])
      • 取所有可能k中的最小值
  3. 记忆化搜索
    • 使用记忆数组存储已计算结果,避免重复计算
    • 自顶向下的递归方式,结合记忆化实现动态规划
  4. 关键点
    • 如何选择中间顶点k将多边形分成最优的两部分
    • 通过递归分解问题,最终合并子问题的解

5. 题解代码


class Solution {public int minScoreTriangulation(int[] values) {int n = values.length;// 记忆化数组,memo[i][j]表示从顶点i到j的最小三角剖分分数int[][] memo = new int[n][n];// 初始化记忆数组为-1,表示未计算for (int[] row : memo) {Arrays.fill(row, -1);}// 从第一个顶点到最后一个顶点开始计算return dfs(0, n - 1, values, memo);}private int dfs(int i, int j, int[] v, int[][] memo) {// 基本情况:如果只有两个顶点,无法形成三角形,得分为0if (i + 1 == j) {return 0;}// 如果已经计算过,直接返回结果if (memo[i][j] != -1) {return memo[i][j];}// 初始化结果为最大值int res = Integer.MAX_VALUE;// 遍历所有可能的中间顶点k(i < k < j)for (int k = i + 1; k < j; k++) {// 递归计算左右两部分的最小分数,加上当前三角形的分数res = Math.min(res, dfs(i, k, v, memo) +    // 左边部分dfs(k, j, v, memo) +    // 右边部分v[i] * v[j] * v[k]);    // 当前三角形}// 存储计算结果到记忆数组return memo[i][j] = res;}
}

6. 复杂度分析


时间复杂度:O(n³)

  • 共有O(n²)个子问题(i,j组合)
  • 每个子问题需要O(n)时间枚举k
  • 总时间复杂度为O(n³)

空间复杂度:O(n²)

  • 用于存储记忆数组memo[n][n]
http://www.dtcms.com/wzjs/302356.html

相关文章:

  • 网站建站目标福建seo推广方案
  • 中企动力官方网站aso关键词优化工具
  • 网站建设之后百度搜索引擎优化怎么做
  • 贵阳做网站的公司深圳抖音推广
  • 广州中英文网站建设攀枝花seo
  • 做音频主播的网站软文营销案例文章
  • 口碑好的企业网站开发微信公众号软文怎么写
  • 旅游景点网页制作东莞百度快速优化排名
  • 广州企业建设网站竞价推广开户电话
  • 广西互联网推广seo培训一对一
  • 黄页网站推广app免费下载考研培训机构排名
  • 企业微信开放平台宁波seo网络推广渠道介绍
  • 广州技术支持:奇亿网站建设域名注册腾讯云
  • 做网站方面百度关键词热度查询
  • 服装网页设计网站南京最大网站建设公司
  • 青岛住房和城乡建设厅网站首页佛山关键词排名效果
  • 企业网站托管外包平台小时seo百度关键词点击器
  • 电商 网站 降低 跳出率 措施 效果正规考证培训机构
  • 男女做爰免费网站长沙seo外包
  • 网站图标做多大好品牌推广文案
  • 深圳高端网站建设多少钱miy188coo免费入口
  • 网站开发技术发展网络搜索词排名
  • 杭州哪家公司可以做网站百度广告联盟怎么赚钱
  • 网站建设上传sem优化师
  • 微餐饮网站建设官网潍坊网站外包
  • 做网站需要提供哪些资料关键词快速上首页排名
  • 佛山网站建设公司价格多少企业网站制作流程
  • 商务网站建设简答题及答案营销技巧和营销方法视频
  • 网页制作首页代码模板做网站排名优化的公司
  • 深圳新站优化深圳最好seo