动态规划

诚丞成21 小时前
算法·动态规划
斐波那契数列模型:在动态规划的丝绸之路上追寻斐波那契的足迹(下)上篇我们介绍了用动态规划解决斐波那契模型的相关代码,本篇我们将结合具体题目,进一步深化对于该算法的理解运用。
不想编程小谭1 天前
数据结构·c++·算法·leetcode·动态规划
力扣LeetCode: 931 下降路径最小和给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。
Perishell1 天前
linux·机器人·动态规划·无人机·slam
无人机避障——感知篇(采用Livox-Mid360激光雷达获取点云数据显示)电脑配置:Xavier-nx、ubuntu 18.04、ros melodic激光雷达:Livox_Mid-360
诚丞成2 天前
算法·动态规划
斐波那契数列模型:在动态规划的丝绸之路上追寻斐波那契的足迹(上)斐波那契数列,这一数列如同一条无形的丝线,穿越千年时光,悄然延续其魅力。其定义简单而优美:F(0)=0,F(1)=1
孑么2 天前
算法·leetcode·职场和发展·贪心算法·动态规划
力扣 买卖股票的最佳时机贪心算法典型例题。题目做过股票交易的都知道,想获取最大利润,就得从最低点买入,最高点卖出。这题刚好可以用暴力,一个数组中找到最大的数跟最小的数,然后注意一下最小的数在最大的数前面即可。从一个数组中选两个数作比较,可以选用两个for循环。这题用dp同理,不过dp数组存状态是多余的。
孑么3 天前
java·算法·leetcode·职场和发展·贪心算法·动态规划
力扣 跳跃游戏 II贪心算法,存下每一步的最远,去达到全局的最小跳跃次数。题目从题中要达到最少次数,肯定是每一步尽可能走远一点。但注意j被限制了范围,这种不用想每一步遍历时肯定选最大的num[i],但要注意,题中是可以到达不是刚好到达,因此最后一步只要大于最后一个数都是可以的。从第一个数开始遍历,每一步贪心去选最远的距离,然后每个数都存下一个可达到的最远距离便于更新,因为贪心每一次都是基于当前数的最优,并不是全局最优。
JWASX4 天前
算法·动态规划·0-1背包
【动态规划】详解 0-1背包问题0-1 背包是比较经典的动态规划问题,这里以代码随想录里面的例子来介绍下。总的来说就是:有 n 个物品和一个重量为 w 的背包,这 n 个物品中第 i 个物品的重量为 w[i],价值为 v[i],那么这个背包能装下的物品最大价值是多少,注意一个物品只能选一次。
孑么5 天前
java·算法·leetcode·职场和发展·贪心算法·动态规划
力扣 乘积最大子数组动态规划,注意负负得正,dp交换。题目注意这里的dp的乘积要求最大,而两个很大的负数相乘也是大的,因此在每遍历到一个数时要存一个最大值的dp与一个最小值的dp,然后遍历完后再去存ans的dp。由于存在负数,那么会导致最大的变最小的,最小的变最大的。因此还需要维护当前最小值。
明月清了个风5 天前
笔记·学习·动态规划·线性dp
数据结构与算法学习笔记----线性DP@@ author: 明月清了个风 @@ first publish time: 2025.2.15ps⭐️包含了几种常见的线性DP模型——数字三角形,最长上升子序列,最长公共子序列,最短编辑距离。给出了具体思路及证明过程和一些题目代码优化的过程,题目较多。
孑么5 天前
java·算法·leetcode·职场和发展·贪心算法·动态规划
力扣 最长递增子序列动态规划,二分查找。题目由题,从数组中找一个最长子序列,不难想到,当这个子序列递增子序列的数越接近时是越容易拉长的。从dp上看,当遍历到这个数,会从前面的dp选一个最大的数加上当前数,注意这里的dp是每遍历到一个数都会加进去。而这里的dp数组同样是用来维护到某个数时的ans,nums数组是做了比较的,因此也有可能内循环时数组中的一些数是没有做更新的,因此最后一步肯定是加上当前的数后再进行一次与更新的dp比较进行选最大。
南宫生5 天前
java·数据结构·算法·leetcode·动态规划
力扣动态规划-31【算法学习day.125】###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
zhyhgx6 天前
java·算法·leetcode·动态规划
【动态规划】斐波那契数列模型动态规划动态规划的基本步骤1137. 第 N 个泰波那契数 - 力扣(LeetCode)算法分析算法代码
Kevin Kou6 天前
数据结构·c++·算法·动态规划·分治思想
编程题-最大子数组和(中等-重点【贪心、动态规划、分治思想的应用】)给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
计算机小白一个6 天前
java·数据结构·算法·蓝桥杯·动态规划
蓝桥杯 Java B 组之简单动态规划(爬楼梯、斐波那契数列)动态规划(Dynamic Programming,简称 DP)是计算机科学中的一种算法设计思想,用来解决最优解问题,它的核心思想是将大问题分解为小问题,并通过保存计算结果避免重复计算。常见的应用场景包括:最短路径、最优子结构、背包问题等。
欧了1117 天前
c语言·算法·leetcode·动态规划·01背包
动态规划LeetCode-494.目标和给你一个非负整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :
南宫生7 天前
java·学习·算法·leetcode·动态规划
力扣动态规划-30【算法学习day.124】###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
longze_77 天前
算法·贪心算法·动态规划
贪心算法与动态规划的区别贪心算法:每一步都选择当前最优解,期望通过局部最优达到全局最优。动态规划:通过分解问题为子问题,存储并重用子问题的解,避免重复计算。
银河梦想家8 天前
算法·leetcode·动态规划
【Day39 LeetCode】动态规划DP 编辑问题采用动态规划来解决子序列问题。有两个字符串,采用二维dp数组,dp[i][j]表示0~i-1的s子字符串中含有0 ~j-1的t子字符串的个数。 递推公式分为s[i - 1] 与 t[j - 1]相等和不相等的情况
阿图灵8 天前
算法·动态规划
从递归到动态规划(一维)动态规划是一种通过把原问题分解为相对简单的子问题,并保存子问题的解来避免重复计算,从而解决复杂问题的算法策略。一维动态规划是动态规划中较为基础的一类,它通常只需要一个一维数组来保存子问题的解。我们可以从递归的角度逐步引出一维动态规划。
欧了1119 天前
c语言·算法·leetcode·动态规划·01背包
动态规划LeetCode-1049.最后一块石头的重量Ⅱ有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下: