[Golang]力扣Leetcode—初级算法—动态规划—买卖股票的最佳时机
题目:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。假设你有 n 个版本 [1, 2, ...
2022-01-27
【golang】leetcode中级-跳跃游戏&不同路径
第一题 跳跃游戏题目贪心解法对于每个下标而言,元素规定了它可以到达的最大距离因此这部分距离范围内的下标都是可以抵达的.例如示例1:nums = [2,3,1,1,4].对于下标0而言,它可以选择下标1或者下标2选择下标1.可以到达下标4选择下标2,可以到达下标3.由于本题返回值为布尔类型,无需存储跳跃路径我们只需记住跳跃能到达...
2022-02-21
力扣279——完全平方数
这道题主要利用广度优先搜索进行动态规划,就可以解决了,也可以推导出关系解决。<!-- more --> 原题 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: {代码...} 示例 2: {代码...} 原题url:[链接] 解题 动态规划 + 广度优先搜...
2020-01-12
经典动态规划例题整理(Python版)
由于本人的算法基础较为薄弱,所以在这里整理一下自己的做过的题,使自己能够随时随地回顾温习。然后,本篇文章将会持续更新自己遇到的一些比较经典动态规划的题目,大家如果对代码有任何问题,直接在文章下面评论即可。我看到后会立刻回复。
LeetCode 10. 正则表达式匹配 | Python
10. 正则表达式匹配 题目来源:[链接] 题目 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只...
2020-05-02
动态规划法(三)子集和问题(Subset sum problem)
继续讲故事~~ 上次讲到我们的主人公丁丁,用神奇的动态规划法解决了杂货店老板的两个找零钱问题,得到了老板的肯定。之后,他就决心去大城市闯荡了,看一看外面更大的世界。 这天,丁丁刚回到家,他的弟弟小连就拦住了他,“老哥,有个问题想请教你。”对于一向数学见长的小连,这次竟然破天荒的来问自己问题,丁丁感到...
2018-05-31
用javascript分类刷leetcode3.动态规划(图文视频讲解)
动态规划,英文:Dynamic Programming,简称DP,将问题分解为互相重叠的子问题,通过反复求解子问题来解决原问题就是动态规划,如果某一问题有很多重叠子问题,使用动态规划来解是比较有效的。
2022-11-15
【LeetCode】70. 爬楼梯
从本题中我们可以学到包含重复子问题,可以采用记忆化的方式,复用计算后的值;并用动态规划的思想,找到动态转移方程,采用循环实现。题目描述:题目:假设我们需要爬一个楼梯,这个楼梯一共有 N 阶,可以一步跨越 1 个或者 2 个台阶,那么爬完楼梯一共有多少种方式?示例:输入:2输出:2有2种方式可以爬楼梯,跳1+1阶...
PAT A1045 动态规划
第一种方法对于该题目其实有点取巧的感觉;首先,注意一点,对于最长不下降子序列来说,其序列的元素一定是非递减的,所以我们的当务之急是如何将值转换为递增序列,从而使得算法能够继续进行;对于这个问题,我们可以使用hashtable进行处理,也就是利用hashtable重新使得值递增;
2019-02-15
【算法】动态规划
一个数组 cost 的所有数字都是正数,它的第 i 个数字表示在一个楼梯的第 i 级台阶往上爬的成本,在支付了成本 cost[i]之后可以从第 i 级台阶往上爬 1 级或 2 级。假设台阶至少有 2 级,既可以从第 0 级台阶出发,也可以从第 1 级台阶出发,请计算爬上该楼梯的最少成本。例如,输入数组[1,100,1,1,100,1],则爬上该...
动态规划概论
动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之...
2017-03-01
大厂都爱考算法,那怎么学习算法呢
如果最近你出去面试,不管是大厂还是小的创业公司,最后都会问你几个算法题。看似不怎么实用的算法,成为很多面试者的拦路虎,那对于算法,我们应该怎么面对,又有没有好的方法在短期内提升算法的解题能力呢?
leetcode 300. Longest Increasing Subsequence
找到整数数组中最长的递增子数组。该子数组可以为不连续的。如题目中例子所示,[10, 9, 2, 5, 3, 7, 101, 18]得到的最长子数组为[2,3,7,101]。
[Leetcode] Decode Ways 解码方式
A message containing letters from A-Z is being encoded to numbers using the following mapping: {代码...} Given an encoded message containing digits, determine the total number of ways to decode it. For example, Given encoded message "12", it could be decoded as "AB"(1 2) or "L" (12). The number o...
leetcode 198. House Robber 打家劫舍(中等)
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
2022-06-16
王炸!算法可视化功能全面上线,包括递归算法可视化!
前段时间,我在 近期的大更新 中介绍了代码中插入图片注释的功能,得到很多读者的好评。如果说图片注释是开胃小菜,这一次功能升级可以说是一步到位:我将所有算法代码进行了动画可视化,且全线支持我的刷题全家桶,包括 刷题网站、Chrome 插件、vscode 插件 和 Jetbrains 插件。info:我的刷题全家桶下载安装手册 点这...
2023-07-20
[Leetcode] Unique Binary Search Trees 唯一二叉搜索树
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example, Given n = 3, there are a total of 5 unique BST's. {代码...}
2015-10-01