基础学习之算法
工作了两年,之前一直沉浸在业务当中,感觉算法的用处不太大,在这两年的时间里跟算法相关的也就写过一个很基础的递归函数。刷过几道leetcode,每次做题花费的时间都很长,而且做了感觉对实际上的工作没啥帮助。事实证明,我还是太肤浅
2021-03-30
Dungeon Game@LeetCode
典型的动态规划题。维护一个二维数组dungeon,dungeon[i][j]表示从第i行第j出发到终点所需要的最低血量(包含当前位置的消耗),最低血量不大于1。
2015-05-06
动态规划快速入门
动态规划算法一直是面试手撕算法中比较有挑战的一种类型。很多的分配问题或者调度问题实际上都可能用动态规划进行解决。(当然,如果问题的规模较大,有时候会抽象模型使用动归来解决,有时候则可以通过不断迭代的概率算法解决查找次优解)
2019-08-30
leetcode-78-Subsets
Given a set of distinct integers, nums, return all possible subsets(the power set).
2018-03-15
leetcode-90. Subsets II
题目描述 {代码...} 注意 {代码...} Example: {代码...} 题目解读: 找出所有的子集。思路: {代码...} {代码...}
2018-08-10
动态规划练习题-总
练习题分为四种:1,线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等;2,区域动规:石子合并, 加分二叉树,统计单词个数,炮兵布阵等;3,树形动规:二分查找树,聚会的欢乐,数字三角形等;4,背包问题:01背包问题,完全背包问题,分组背包问题,二维背包,装箱问题,挤牛奶
用javascript分类刷leetcode3.动态规划(图文视频讲解)
动态规划,英文:Dynamic Programming,简称DP,将问题分解为互相重叠的子问题,通过反复求解子问题来解决原问题就是动态规划,如果某一问题有很多重叠子问题,使用动态规划来解是比较有效的。
2022-12-14
用javascript分类刷leetcode3.动态规划(图文视频讲解)
动态规划,英文:Dynamic Programming,简称DP,将问题分解为互相重叠的子问题,通过反复求解子问题来解决原问题就是动态规划,如果某一问题有很多重叠子问题,使用动态规划来解是比较有效的。
2022-11-14
70-爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。 示例 1: {代码...} 示例 2: {代码...}
2018-09-03
LeetCode 343. Integer Break
Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.
2019-04-08
Leetcode专题[数组]-53-最大子数组和
动态规划基本上是需要三架马车或者三板斧来决定的 (1)确定数组元素的意义:即dp[]数组是什么含义 (2)定义数组元素间的关系式,即状态转移方程:即 dp[n] = dp[n-1] + x (3)确定初始值:学过数学归纳法的都知道,虽然我们知道了数组元素之间的关系式,如dp[n] = dp[n-1] + dp[n-2],但是我们需要知道最开始的值,dp[...
2022-02-11
「数据结构与算法」动态规划学习笔记:前缀和
前缀和是一种查询数组中任意区间的元素的和的数据结构,这里数组给定之后就不变了。针对这个不变的数组,前缀和用于多次查询区间 [i, j] 上元素的和。
2021-12-20
(十 一)从零开始学人工智能--强化学习: 强化学习入门基础
强化学习入门基础 文章目录 强化学习入门基础 1. 强化学习基础知识 1.1 强化学习发展历程 1.2 强化学习特点 1.3 强化学习应用 1.4 强化学习基本概念 1.5 强化学习智能体的主要组成部分 1.6 强化学习的分类 2. 动态规划 2.1 什么是动态规划 2.2 动态规划基本思想 2.3 动态规划基本概念 2.3.1 多阶段决策问题 2.3.2 动态规...
2020-03-13
动态规划算法的思想及实现
动态规划(简称DP)是算法设计思想当中最难也是最有趣的部分了,动态规划适用于有重叠子问题和最优子结构性质的问题,是一种在数学、计算机科学和经济学中经常使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。使用动态规划方法解题有较高的时间效率,关键在于它减少了很多不必要的计算和重复计算的部分
【Leetcode】139.拆分词句
题目 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 思路分析 暴力搜索 这道题最开始我们想的肯定是每...
2019-08-14
这都还不懂动态规划,那就没辙了
有一定规律可循,找套路. 什么是动态规划. 有多少种方式走到右下角(这才可以用动态规划)输出所有走到右下角的路径(dfs 递归) 题目分类: 计数有多少种方式走到右下角 有多少种方法选出K个数使得和是sum 求最大最小值 从左下角走到右下角路径的最大数值和最长上升子序列长度 求存在性 取石子游戏,先手是否必赢能不能选出K个...
这种动态规划你见过吗——状态机动态规划之股票问题(下)
在前面的两篇文章这种动态规划你见过吗——状态机动态规划之股票问题(上)和这种动态规划你见过吗——状态机动态规划之股票问题(中)已经谈了4道和股票问题相关的题目,详细解释了状态机动态规划和他的基本原理和应用方式。在本篇文章当中,会再介绍剩下的两道股票问题,继续深入和学习状态机动态规划。
2022-07-28