
动态规划
qq_30339595
人类,诗意地栖息在大地上。
展开
-
leetcode123. Best Time to Buy and Sell Stock III
题目大意是给你一些股价,选择买入和卖出,使赚得最多,只能买入后卖出,并且只能买卖两次。双指针和动态规划的思想。一个指针从前往后指,记录下从开头到当前的赚最多的一次买卖一个指针从后往前,记录下从当前到数组末尾赚的最多的一次买卖同时加上当前从前往后的买卖,与ans进行比较。class Solution: def maxProfit(self, prices: List[int]) -...原创 2019-11-20 16:24:50 · 115 阅读 · 0 评论 -
leetcode44 Wildcard Matching
Given an input string (s) and a pattern §, implement wildcard pattern matching with support for ‘?’ and ‘*’.‘?’ Matches any single character.‘*’ Matches any sequence of characters (including the emp...原创 2019-10-29 14:02:28 · 130 阅读 · 0 评论 -
最长括号匹配子串
class Solution: def longestValidParentheses(self, s: str) -> int: num_stack=0 dp=[0]*len(s) max_l=0 for i in range(len(s)): if s[i]=='(': ...原创 2019-10-25 18:06:15 · 322 阅读 · 0 评论 -
毕业bg
时间限制:1秒 空间限制:65536K 热度指数:251 算法知识视频讲解题目描述 每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”。参加不同团体的bg会有不同的感觉,我们可以用一个非负整数为每个bg定义一个“快乐度”。现给定一个bg列表,上面列出每个bg的快乐度、持续长度、bg发起人的离校时间,请你安排一系列bg的时间使得自己可以获得最大的快乐度。 ...原创 2018-03-05 19:46:59 · 149 阅读 · 0 评论 -
放苹果
时间限制:1秒 空间限制:65536K 热度指数:938 算法知识视频讲解题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入描述:每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出描述:对输入的每组数据M和N,用一行输出相应的K。示例1输入7 3输出8// pat.cpp :...原创 2018-03-18 11:53:45 · 174 阅读 · 0 评论 -
蓝桥杯 结点选择
问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?输入格式第一行包含一个整数 n 。接下来的一行包含 n 个正整数,第 i 个正整数代表点 i 的权值。接下来一共 n-1 行,每行描述树上的一条边。输出格式输出一个整数,代表选出的点的权值和的最大值。样例输入51 2 3 4 51 21 32 42 ...原创 2018-03-16 18:18:16 · 486 阅读 · 0 评论 -
DAG最长路
struct edge{ int v,w;};vector<edge>G[maxn];//DAG最长路//以i为起点,不固定终点int dp[maxn];int choice[maxn];int DP(int i){ if(dp[i]>0)return dp[i]; for(int j=0;j<G[i].size();j++) { int v=G...原创 2018-03-16 15:27:32 · 619 阅读 · 0 评论 -
合唱团(网易2017校招)
时间限制:1秒 空间限制:32768K 热度指数:49379本题知识点: 动态规划 算法知识视频讲解题目描述有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?输入描述:每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <=...原创 2018-03-16 10:36:34 · 374 阅读 · 0 评论 -
构造回文(腾讯2017暑期实习生编程题)
题目:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcdagoogle输出例子:22题目:给定一个字符串s,你可以从中删除一些字符,使得...原创 2018-02-19 22:20:41 · 350 阅读 · 0 评论 -
N阶楼梯上楼问题
时间限制:1秒 空间限制:65536K 热度指数:9112 算法知识视频讲解题目描述N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)输入描述:输入包括一个整数N,(1<=N<90)。输出描述:可能有多组测试数据,对于每组数据,输出当楼梯阶数是N时的上楼方式个数。示例1输入4输出5走到第n阶时可能是从第n-1阶走一步到的,也可能是从...原创 2018-03-08 12:35:42 · 355 阅读 · 0 评论 -
整数拆分
一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,读入n(不超过1...原创 2018-02-13 17:41:34 · 371 阅读 · 0 评论 -
最小邮票数
时间限制:1秒 空间限制:65536K 热度指数:2079 算法知识视频讲解题目描述 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。输入描述: 有多组数据,对于每组数据,首先是要求凑成的邮票总值M,M<100。然后是一个数N,N〈20,表示有N张邮票。接下来是...原创 2018-02-13 17:52:19 · 229 阅读 · 0 评论 -
最小花费
时间限制:1秒 空间限制:65536K 热度指数:683 算法知识视频讲解题目描述在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下: 距离s 票价 0<S<=L1 C1 L1<S<=L2 C2 L2<S<=L3 C3 输入保证0<L1&...原创 2018-02-14 21:37:09 · 443 阅读 · 0 评论