动态规划

最大的观影时间问题

最大的观影时间问题 作者:Grey 原文地址: 博客园:最大的观影时间问题 CSDN:最大的观影时间问题 题目描述 一场电影开始和结束时间可以用一个小数组来表示["07:30","12:00"] 已知有 2000 场电影开始和结束都在同一天,这一天从 00:00 开始到 23:59 结束 一定要选 ... »

拼凑硬币问题

拼凑硬币问题 作者:Grey 原文地址: 博客园:拼凑硬币问题 CSDN:拼凑硬币问题 问题描述 现有 n1 + n2 种面值的硬币,其中前 n1 种为普通币,可以取任意枚,后 n2 种为纪念币, 每种最多只能取一枚(可能有重复值),每种硬币有一个面值,问能用多少种方法拼出 m 的面值? 题目链接见 ... »

经典背包系列问题

经典背包系列问题 作者:Grey 原文地址: 博客园:经典背包系列问题 CSDN:经典背包系列问题 问题一 题目描述 在 n 个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为Ai (每个物品只能选择一次且物品大小均为正整数) 题目链接:LintCode 92 · Ba ... »

纸牌博弈问题

纸牌博弈问题 作者:Grey 原文地址: 博客园:纸牌博弈问题 CSDN:纸牌博弈问题 题目描述 有一个整型数组 A,代表数值不同的纸牌排成一条线。玩家 a 和玩家 b 依次拿走每张纸牌, 规定玩家 a 先拿,玩家 b 后拿, 但是每个玩家每次只能拿走最左或最右的纸牌, 玩家 a 和玩家 b 都绝顶 ... »

象棋中的马跳步问题

象棋中的马跳步问题 作者:Grey 原文地址: 博客园:象棋中的马跳步问题 CSDN:象棋中的马跳步问题 题目描述 中国象棋中,整个棋盘就是横坐标上 9 条线、纵坐标上 10 条线的一个区域,给你三个 参数 x,y,k;返回『马』从 (0,0) 位置出发,必须走 k 步; 最后落在 (x,y) 上的 ... »

机器人到达指定位置的方法数问题

机器人到达指定位置的方法数问题 作者:Grey 原文地址: 博客园:机器人到达指定位置的方法数问题 CSDN:机器人到达指定位置的方法数问题 题目描述 链接:https://www.nowcoder.com/questionTerminal/54679e44604f44d48d1bcadb1fe6e ... »

最长公共子序列问题

最长公共子序列问题 作者:Grey 原文地址: 博客园:最长公共子序列问题 CSDN:最长公共子序列问题 题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字 ... »

表达式得到期望结果的组成种数问题

表达式得到期望结果的组成种数问题 作者:Grey 原文地址: 博客园:表达式得到期望结果的组成种数问题 CSDN:表达式得到期望结果的组成种数问题 题目描述 给定一个只由 0(假)、1(真)、&(逻辑与)、|(逻辑或)、^(异或)五种字符组成的字符串 exp,再给定一个布尔值 desired。返回 ... »

累加和为 K 的子数组问题

累加和为 K 的子数组问题 作者:Grey 原文地址: 博客园:累加和为 K 的子数组问题 CSDN:累加和为 K 的子数组问题 题目说明 数组全为正数,且每个数各不相同,求累加和为K的子数组组合有哪些, 注:数组中同一个数字可以无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的 ... »

Java动态规划方式解决不同的二叉搜索树

目录 一、题目描述 二、思路 三、代码 一、题目描述 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 来源:https://leetcode.cn/problems/unique-binary-sear »

Java通过动态规划设计股票买卖最佳时机

目录 买卖股票的最佳时机 动态规划 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以 »

动态规划(二)最长递增子序列

最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3, 6, 2, 7] 是数组 [0, 3, 1, 6, 2, 2, 7] 的子序列。注意 子序列 和 子串 的区别,子串一定 ... »

orangeQWJ

动态规划(一)极速入门

动态规划(一) 动态规划开胃菜 动态规划中有几个重要概念,分别是 状态转移方程 重叠子问题 递推与动态规划 先来做一道高中数学题 通俗来讲动态规划 算法并不直接给出最终结果的求解表达式,而是通过找到问题规模之间的 动态转移方程,借此不断缩小问题规模,逐渐迫近base case 解法一 def fun ... »

打怪兽问题

打怪兽问题 作者:Grey 原文地址: 博客园:打怪兽问题 CSDN: 打怪兽问题 题目描述 题目链接: 牛客-打怪兽 开始时你的能力是0,你的目标是从0号怪兽开始,通过所有的怪兽。 如果你当前的能力,小于i号怪兽的能力,你必须付出money[i]的钱,贿赂这个怪兽,然后怪兽就会加入你,他的能力直接 ... »

求最长回文子序列长度问题

求最长回文子序列长度问题 作者:Grey 原文地址: 博客园:求最长回文子序列长度问题 CSDN:求最长回文子序列长度问题 题目描述 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。题目链接见:LeetCode 516. Longest Palindromic Subsequen ... »

Java动态规划之丑数问题实例讲解

问题描述: 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 注: 1也是丑数 思路: 我们来分析一下丑数如何得到,肯定是由前面的丑数乘2,乘3或者乘5得到,因此这是一道动态规划题。 使用 dp[i] 记录第i个丑数, 初始 »

二维数组的最小路径和问题

二维数组的最小路径和问题 作者:Grey 原文地址: 博客园: 二维数组的最小路径和问题 CSDN: 二维数组的最小路径和问题 题目描述 LintCode 110 · Minimum Path Sum 给定一个只含非负整数的m ∗ n网格,找到一条从左上角到右下角的可以使数字和最小的路径。 暴力解法 ... »

动态规划示例:寻找 QR 码的最佳编码

介绍 最近,竞争性编程在现实生活中帮助了我。 作为我爱好的一部分,我正在创建一个 Python 包来生成 rMQR 码,它们是矩形 QR 码。其中”对数据进行编码,使位串最短我对这个过程使用了动态编程。作为一个在大学做竞技编程的人,我很高兴专业的竞赛有用,所以写这篇文章作为例子分享。阐述了动态规划的 »

动态规划——leetcode5、最长回文子串

1、题目描述: 2、解题方法:动态规划 动态规划解题步骤: 1、确定状态 最后一步:如果s[i,...,j]是回文子串,那么需要满足两个条件 ① s[i] == s[j]; ② s[i+1,...,j-1]是回文子串; 子问题:我们要验证s[i+1,...,j-1]是不是回文子串 用dp[i][j] ... »