动态规划 思路: 由于题目只要求得到最大和,故可以遍历数组nums,遍历的同时把每个元素的值更新为当前位置到之前所能得到的最大和,遍历完成后返回数组中最大值即可。更新的动态规划转移方程为:nums[i] = nums[i] + max(nums[i-1],0) 代码: class Solution: ...
分类:
其他好文 时间:
2020-06-03 15:24:56
阅读次数:
60
《算法图解》第九章,小偷的背包问题,顺便记录一下: import copy def fillbag(bagsize, goods): bagsvalue = [[{}]*bagsize for x in range(len(goods))] def bestbag( m, n, leftweight ...
分类:
其他好文 时间:
2020-06-03 00:28:35
阅读次数:
68
目录 面试题14- I. 剪绳子/343. 整数拆分 面试题42. 连续子数组的最大和/53. 最大子序和 面试题47. 礼物的最大价值 一、面试题14- I. 剪绳子/343. 整数拆分 1.1 问题: 给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最... ...
分类:
编程语言 时间:
2020-06-03 00:18:36
阅读次数:
74
Dijkstra也叫迪杰斯特拉,是典型最短路径算法,计算一个起始节点到路径中其他所有节点的最短路径的算法和思想。在一些专业课程中如数据结构,图论,运筹学等都有介绍。其思想是一种基础的求最短路径的算法,通过基础思想的变化可以解决很多复杂问题,如导航线路,动态规划等。 1|0Dijkstra 算法思想介 ...
分类:
编程语言 时间:
2020-06-02 13:13:16
阅读次数:
52
一、区别 给定两个字符串,求LCS 最长公共子串 (Longest Common Substring): 要求是连续的字符串 最长公共子序列(Longest Common Subsequence):要求子字符串相对顺序不变即可 二、动态规划求解 1、最长公共子串 给定两个字符串A 和 B 用二维数组 ...
分类:
其他好文 时间:
2020-06-01 23:43:29
阅读次数:
64
191. 乘积最大子序列 中文English 找出一个序列中乘积最大的连续子序列(至少包含一个数)。 样例 样例 1: 输入:[2,3,-2,4] 输出:6 样例 2: 输入:[-1,2,4,1] 输出:8 注意事项 数组长度不超过20000乘积最大的子序列的积,小于2147483647 输入测试数 ...
分类:
其他好文 时间:
2020-06-01 23:27:54
阅读次数:
70
大多数动态规划问题都能被归类成两种类型: 自上而下:你从最顶端开始不断地分解问题,直到你看到问题已经分解到最小并已得到解决,之后只用返回保存的答案即可。这叫做记忆存储(*Memoization*),即递归。 自下而上:你可以直接开始解决较小的子问题,从而获得最好的解决方案。在此过程中,你需要保证在解 ...
分类:
其他好文 时间:
2020-06-01 19:15:18
阅读次数:
65
数理经济学经典教材推荐:从入门到精通 什么是数理经济学? 经济学三高:高级微观经济学、高级宏观经济学、高级计量经济学。而高级微观经济学 + 高级宏观经济学 = 数理经济学。 什么是高级数理经济学? 答曰:建立在测度论、泛函分析与拓扑学上的高级微观经济学、高级宏观经济学。 新手村和青铜建议在本科阶段内 ...
分类:
其他好文 时间:
2020-05-31 19:47:54
阅读次数:
298
一:部分和问题 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 输入: n=4 a={1,2,4,7} k=13 输出: Yes(13=2+4+7) 书中带来是DFS搜索,相对比较简单 代码: #include<bits/stdc++.h> using na ...
分类:
其他好文 时间:
2020-05-29 23:28:36
阅读次数:
67
题目: 思路: 1、动态规划:从尾部开始(不从头部),清晰分析每种情况,划分子问题,得到转移方程,初始条件特殊单独分析处理 定义状态dp[i][j]表示s的前i个字符和p的前j个字符是否匹配,注意前i个字符的下标是0~i-1 重叠子问题,怎么确定dp[i][j]的状态?通过对比当前尾部的字符,将dp ...
分类:
其他好文 时间:
2020-05-29 19:30:58
阅读次数:
42