自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 JavaScript|LeetCode|动态规划|518. 零钱兑换 II

法1:动态规划看了题解想法:数组dp,保存背包容量为0到amount时,用硬币装满背包的方式数动态规划关注于当下;思考:对于当前面额硬币装或者不装?(是否能装下?是否应该装?)对于数组dp从前往后更新,可实现同一面额硬币多次装入/** * @param {number} amount * @param {number[]} coins * @return {number} ...

2020-04-29 11:50:43 219

原创 JavaScript|LeetCode|动态规划|322. 零钱兑换

法1:动态规划看了题解想法:总金额amount是背包容量coins是物品(coins.length是物品种类;coins[i]为每种物品的体积)每种物品有无限个目标:用最少数量的物品把背包填满/** * @param {number[]} coins * @param {number} amount * @return {number} */var coinChange...

2020-04-29 11:30:09 393

原创 [flask框架]下:前端发起请求,服务器用[python]读取[本地图片]并转码[base64],传至前端显示

前端 jQuery + AJAX 请求$.ajax({ type : 'POST', // POST方法 // 服务器所在,注意要与app.py中的 // @app.route('/back_end', methods=['POST', 'GET']) // 中的第一个参数相对应 url : '/back_end', // 将da...

2020-04-22 15:24:56 1406 1

原创 JavaScript|LeetCode|动态规划|474. 一和零

法1:动态规划看了题解想法:0 和 1 是两个背包,m 是 0 背包的容量,n 是 1 背包的容量字符串是物品需要当前物品的 0 和 1 都可以被装下,才可以放得进背包(仍然存在选择:如果放入之后,总的字符串数量最大,则放入;否则不放入)背包的容量越大,越可能放入更多的物品,所以最后返回dp[m][n]/** * @param {string[]} strs * @param...

2020-04-22 11:04:42 158

原创 JavaScript|LeetCode|动态规划/递归|494. 目标和

法1:动态规划看了题解想法:思考:什么是背包?什么是物品?将nums分为P(加+)和N(加-)两部分sums( P ) + sums( N ) = sums(nums)sums( P ) - sums( N ) = S=> sums( P ) = (sums(nums) + S) / 2则只需要选取数组中元素加入背包(这些数前面加+),使得背包正好被装满;求装满的方法...

2020-04-20 11:21:46 166

原创 JavaScript|LeetCode|动态规划|416. 分割等和子集

法1:动态规划想法:将两个子集看作背包(容量均为数组元素和 / 2),数组中的数字作为物品(每个数字的值作为每个物品的体积)问题:如何使得两个背包背的物品体积相等呢? 回答:只需要使得一个背包可以正好装满即可!数组dp表示:容量为0~(数组元素和 / 2)的背包,可以容纳的物品的最大体积和/** * @param {number[]} nums * @return {boolea...

2020-04-16 10:17:58 230

原创 JavaScript|LeetCode|动态规划|1143. 最长公共子序列

法1:动态规划看了题解推荐去看 力扣 的该题题解想法:创建数组dp:dp[i][j]保存text1前i个、text2前j个字符中的两者的最长公共子序列;dp[0][j]和dp[i][0]均为0,因为此时表示text1或text2取空字符串时/** * @param {string} text1* @param {string} text2 * @return {number} ...

2020-04-13 14:33:05 294

原创 JavaScript|LeetCode|动态规划/贪心思想|376. 摆动序列

法1:动态规划想法1:数组dp保存以nums[i]结尾的摆动序列的最长子序列长度数组larger保存以nums[i]结尾的摆动序列的最长子序列中:nums[i]比前一个数小/大:false表示小,true表示大(用于判断当前数能否衔接到nums[i]之后)/** * @param {number[]} nums * @return {number} */var wiggleMa...

2020-04-10 12:29:22 183

原创 JavaScript|LeetCode|动态规划/贪心算法|646. 最长数对链

法1:动态规划看了题解想法:对所有数对pairs:按照每个数对的第一个数进行升序排列数组dp保存以pairs[i]结尾的最长数对链的长度dp[i]的值:若pairs[i][0] > pairs[j][1] (i > j),则dp[i] = dp[j] + 1;否则,dp[i] = dp[i];注:dp[j] >= dp[k] (j > k)/** ...

2020-04-08 15:56:35 174

原创 JavaScript|LeetCode|动态规划|300.最长上升子序列

法1:动态规划想法:用数组dp保存:以nums[i]结尾的最长上升子序列长度对于nums中每个数,dp[i]初始化为1,至少包含nums[i]本身对于nums[i],要求dp[i],关键在于:找到dp[j],nums[j] < nums[i] (j < i),则dp[i] = dp[j] + dp[i]。注:需找到符合条件的dp[j]的最大值最长上升子序列可能以 nums[...

2020-04-03 11:27:52 250

原创 JavaScript|LeetCode|动态规划|91.解码方法

法1:动态规划想法:用数组dp保存以当前数字字符结尾的串的解码方法总数对于当前数字字符s[i],若s[i - 1]s[i]衔接而成的数字可解码(即 >=1 且 <= 26),则dp[i] = dp[i - 2] + dp[i - 1](dp[i - 2]表示s[i - 1]s[i]一起解码,再加上s[i - 1]之前的字符的解码数;dp[i - 1]表示s[i]单独解码,再加上...

2020-04-02 15:37:26 170

原创 JavaScript|LeetCode|动态规划/BFS|279.完全平方数

法1:动态规划想法:数组dp保存当n = 1, 2, 3, ……时,将n分割成多个完全平方数的 完全平方数个数(最少个数)如果 i 是完全平方数,则dp[i] = 1如果 i 不是完全平方数,则dp[i] = min{dp[i], dp[i - j] + dp[j]}:将 i 分为两部分(j = 1 ~ i - 1),各部分可能也会被分割,但:动态规划无需考虑如何来,只需考虑结果如何(只...

2020-04-01 19:42:42 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除