随笔分类 - 动态规划
摘要:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2: 输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。 算法
阅读全文
摘要:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2输出: [0,1,1]示例 2: 输入: 5输出: [0,1,1,2,1,2]进阶: 给出时间复杂度为O(n*sizeof(integer))的
阅读全文
摘要:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从
阅读全文
摘要:#include #include using namespace std; const int N=100010; int n; int a[N],q[N]; int main(void){ cin>>n; for(int i=0; i>a[i]; int len=0; q[0]=-2e9; for(int i=0;i>1; i...
阅读全文
摘要:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动
阅读全文
摘要:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入:
阅读全文
摘要:#include #include #include using namespace std; const int N=6010; int f[N][2],n,happy[N]; int h[N],e[N],ne[N],idx; bool has_father[N]; void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; } ...
阅读全文
摘要:#include #include #include using namespace std; const int N=12,M=1>n>>m,n||m){ for(int i=0;i>j&1){ if(cnt&1)st[i]=false; cnt=0; ...
阅读全文
摘要:#include #include using namespace std; const int N=110; int v[N][N],w[N][N]; int s[N],n,m,f[N]; int main(void){ cin>>n>>m; for(int i=1;i>s[i]; for(int j=0;j>v[i][j]>>w[i][j]; ...
阅读全文
摘要:题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 输入输出格式 输入格式: 数据的第1行试正整数N,1≤N≤100,表示有N
阅读全文
摘要:#include #include #include #include #include #include using namespace std; int main(void){ int n; cin>>n; vectorf; for(int i=0,a;i>a; f.push_back(a); } vectorup(n+1,...
阅读全文
摘要:题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高
阅读全文
摘要:题目描述 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。 输入输出格式 输入格式: 两个正整数N,K。 输出格式: 一个正整数,为不同方式数,由于答案可能很大,你需要输出ansmod100003后的结果。 输入输出样例 输入样例#1: 复制
阅读全文
摘要:给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。 给定一个表示分数的数组,预测玩家1是否会成为赢家。
阅读全文
摘要:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。示例:输入: "aab"输出: 1解释: 进行一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。
阅读全文
摘要:给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是)示例 1:输入: S = "rabbbit"
阅读全文
摘要:编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明: 1 是丑数。 n 不超过1690。
阅读全文

浙公网安备 33010602011771号