leetcode375.猜数字大小II

区间dp问题

java 复制代码
class Solution {
    public int getMoneyAmount(int n) {
        int[][] dp = new int[n + 1][n + 1];
        for (int i = n - 1; i >= 1; i--) {
            dp[i][i + 1] = i;
            for (int j = i + 2; j <= n; j++) {
                dp[i][j] = Integer.MAX_VALUE;
                for (int k = i + 1; k < j; k++) {
                    dp[i][j] = Math.min(dp[i][j],Math.max(dp[i][k - 1], dp[k + 1][j]) + k);
                }
            }
        }
        return dp[1][n];
    }
}
相关推荐
爱敲代码的TOM21 小时前
数据结构总结
数据结构
CoderCodingNo1 天前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
大闲在人1 天前
7. 供应链与制造过程术语:“周期时间”
算法·供应链管理·智能制造·工业工程
小熳芋1 天前
443. 压缩字符串-python-双指针
算法
2501_924878731 天前
数据智能驱动进化:AdAgent 多触点归因与自我学习机制详解
人工智能·逻辑回归·动态规划
Charlie_lll1 天前
力扣解题-移动零
后端·算法·leetcode
chaser&upper1 天前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_499771551 天前
C++中的组合模式
开发语言·c++·算法
iAkuya1 天前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼1 天前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先