dp
文章平均质量分 68
Zero_979
计算机科学与技术硕士在读
展开
-
LeetCode 热题 C++ 647. 回文子串
给你一个字符串s,请你统计并返回这个字符串中的数目。是正着读和倒过来读一样的字符串。是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。s = "abc"3三个回文子串: "a", "b", "c"s = "aaa"66个回文子串: "a", "a", "a", "aa", "aa", "aaa"原创 2023-03-20 14:05:31 · 159 阅读 · 0 评论 -
LeetCode 热题 C++ 416. 分割等和子集 437. 路径总和 III 438. 找到字符串中所有字母异位词 448. 找到所有数组中消失的数字 461. 汉明距离 494. 目标和
给你一个的数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。true数组可以分割成 [1, 5, 5] 和 [11]。false数组不能分割成两个元素和相等的子集。原创 2023-03-07 11:04:22 · 172 阅读 · 0 评论 -
LeetCode 热题 C++ 312. 戳气球 322. 零钱兑换
有n个气球,编号为0到n - 1,每个气球上都标有一个数字,这些数字存在数组nums中。现在要求你戳破所有的气球。戳破第i个气球,你可以获得枚硬币。这里的i - 1和i + 1代表和i相邻的两个气球的序号。如果i - 1或i + 1超出了数组的边界,那么就当它是一个数字为1的气球。求所能获得硬币的最大数量。16710。原创 2023-03-03 11:03:33 · 526 阅读 · 0 评论 -
LeetCode 热题 C++ 121. 买卖股票的最佳时机 309. 最佳买卖股票时机含冷冻期
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。简单题,循环一次,每次更新最大值和最小值和结果就行。买入这只股票,并选择在。原创 2023-03-02 10:33:42 · 320 阅读 · 0 评论 -
LeetCode 热题 C++ 287. 寻找重复数 297. 二叉树的序列化与反序列化 300. 最长递增子序列 739. 每日温度
给定一个包含n + 1个整数的数组nums,其数字都在[1, n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有,返回。你设计的解决方案必须数组nums且只用常量级O(1)的额外空间。23numsO(n)原创 2023-03-02 10:18:56 · 222 阅读 · 0 评论 -
LeetCode 热题 C++ 238. 除自身以外数组的乘积 239. 滑动窗口最大值 240. 搜索二维矩阵 II 279. 完全平方数 283. 移动零
给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据数组nums之中任意元素的全部前缀元素和后缀的乘积都在整数范围内。请且在O( n)时间复杂度内完成此题。原创 2023-03-02 10:31:45 · 360 阅读 · 0 评论 -
LeetCode 热题 C++ 215. 数组中的第K个最大元素 221. 最大正方形 226. 翻转二叉树 234. 回文链表 236. 二叉树的最近公共祖先
给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。原创 2023-02-28 13:12:44 · 140 阅读 · 0 评论 -
LeetCode 热题 C++ 198. 打家劫舍 337. 打家劫舍 III
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,。给定一个代表每个房屋存放金额的非负整数数组,计算你,一夜之内能够偷窃到的最高金额。[1,2,3,1]4偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。12偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。原创 2023-02-26 13:46:50 · 393 阅读 · 0 评论 -
LeetCode 热题 C++ 169. 多数元素 10. 正则表达式匹配 155. 最小栈
给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。32尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。原创 2023-02-26 13:19:48 · 513 阅读 · 0 评论 -
LeetCode 热题 C++ 148. 排序链表 152. 乘积最大子数组 160. 相交链表
三道力扣题原创 2023-02-25 11:15:27 · 577 阅读 · 0 评论 -
LeetCode 热题 C++ 139. 单词拆分
给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。true返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。true返回 true 因为可以由" 拼接成。注意,你可以重复使用字典中的单词。原创 2023-02-23 11:18:06 · 499 阅读 · 0 评论 -
LeetCode 热题 C++ 72. 编辑距离
给你两个单词word1和word2,请返回将word1转换成word2所使用的最少操作数。3horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')5intention -> inention (删除 't')inention -> enention (将 'i' 替换为 'e')enention -> exention (将 'n' 替换为 'x')原创 2022-11-16 23:26:27 · 155 阅读 · 0 评论 -
LeetCode 热题 C++ 62. 不同路径
一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?283从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向右 -> 向下2862 * 109。原创 2022-11-09 16:27:27 · 178 阅读 · 1 评论 -
LeetCode 热题 C++ 53. 最大子数组和 55. 跳跃游戏
给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。6连续子数组 [4,-1,2,1] 的和最大,为 6。nums = [1]123如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的求解。原创 2022-11-05 20:52:45 · 941 阅读 · 0 评论 -
LeetCode 热题 C++ 42. 接雨水 (两种解法:栈&动态规划)
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。6上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。9。原创 2022-11-04 22:38:23 · 312 阅读 · 0 评论 -
LeetCode 热题 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串
当长度大于2的时候,我们要看里面的结构,dp[i+1][j-1]是否为1,如果为1说明它里面就是个回文数,比较两端是否相等即可。s[i]==s[j]则dp[i][j]=1。当i~j长度为2以及2以内时,只要s[i]==s[j],则它就是回文数,所以dp[i][j]=1.不理解为什么这题标记为困难,这就是最简单的把两个递增序列合并成一个递增序列。dp[i][j]代表s[i][j]是否是回文数。首先初始化dp数组,所有dp[i][i]都是1.就是模拟加减运算,注意进位就好。暴力过不去,所以用了动态规划。原创 2022-09-14 21:30:58 · 173 阅读 · 0 评论 -
1260:【例9.4】拦截导弹(Noip1999)
题目描述】某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。【输入】输入导弹依次飞来的高度。【输出】...原创 2022-07-30 21:14:44 · 751 阅读 · 0 评论 -
1259:【例9.3】求最长不下降序列
设有由n(1≤n≤200)n(1≤n≤200)个不相同的整数组成的数列,记为b(1)、b(2)、……、b(n)b(1)、b(2)、……原创 2022-07-30 16:43:02 · 1655 阅读 · 0 评论 -
【练习】2020校招4399游戏开发岗笔试编程题 C++(4)
题目地址:牛客网第一题一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?(n<=10)思路: 模拟。用两个值分别记录小球总路线长度和每次弹起来的高度。代码:#include<iostream>#include<cstdio>using namespace std;int main(){ int n; while(cin>>n) { doub原创 2021-03-16 22:06:39 · 2783 阅读 · 4 评论 -
【剑指Offer】JZ30连续子数组的最大和 C++
题目地址:牛客网题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).示例1输入[1,-2,3,10,-4,7,2,-5]返回值18说明输入的数组为{1,-2,3,10,—4,7,2,一5},和最大的子数组为{3,10,一4,7,2},因此输出为该子数组的和 18。思路:动态规划。注意有负数,初始值设成很小的负数。代码:class Solution {public: int原创 2021-03-09 23:24:52 · 109 阅读 · 2 评论 -
【剑指Offer】JZ8跳台阶
题目地址:牛客网题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。示例1输入 1返回值 1示例2输入 4返回值 5思路:在草稿纸上计算前4种台阶发现是1 2 3 5,由此推算规律是dp[i]=dp[i-2]+dp[i-1].代码:class Solution {public: int jumpFloor(int number) { int dp[10001];原创 2021-03-05 13:45:35 · 84 阅读 · 0 评论 -
HDU1257最少拦截系统 C++
题目:某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截...原创 2018-06-06 10:37:01 · 322 阅读 · 0 评论 -
HDU2084数塔 C++
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2084题目:Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗? Input输入数据首先包括一个整数C,表示...原创 2018-05-30 19:11:27 · 635 阅读 · 1 评论 -
HDU2018 母牛的故事 C++
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2018题目:Problem Description有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述...原创 2018-05-30 19:15:00 · 1166 阅读 · 0 评论 -
HDU2044 一只小蜜蜂... C++
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2044题目:Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。 Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<...原创 2018-05-30 20:10:37 · 497 阅读 · 0 评论 -
HDU2041 超级楼梯 C++
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2041题目:Problem Description有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。 Output对于...原创 2018-05-30 20:16:37 · 1104 阅读 · 1 评论 -
Monkey and Banana C++
题目:A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks. If the m...原创 2018-06-06 20:27:22 · 212 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping! C++
题目:Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now. The game ca...原创 2018-06-06 20:30:16 · 158 阅读 · 0 评论 -
Common Subsequence C++
题目:A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is...原创 2018-06-06 20:54:21 · 263 阅读 · 0 评论 -
Longest Ordered Subsequence C++
题目:A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence ( a1, a2, ..., aN) be any sequence ( ai1, ai2, ..., aiK), where 1 <= i1 <...原创 2018-06-06 21:02:54 · 178 阅读 · 0 评论 -
Milking Time C++
题目:Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0..N-1) so that ...原创 2018-06-07 18:31:17 · 308 阅读 · 0 评论 -
免费馅饼 C++
题目:都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特...原创 2018-06-10 11:09:44 · 860 阅读 · 0 评论 -
Tickets C++
题目:Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who sells the film tickets. He is wandering when could he go back home as early...原创 2018-06-10 11:13:41 · 376 阅读 · 0 评论 -
HDU_3001 Travelling C++【状态压缩dp,三进制】(萌新题解,超详细)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3001题目:After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to visit n cities(he insists on seein...原创 2018-07-15 17:13:22 · 539 阅读 · 1 评论 -
牛客网暑期ACM多校训练营(第二场)D.money【dp】
链接:https://www.nowcoder.com/acm/contest/140/D来源:牛客网 题目描述White Cloud has built n stores numbered from 1 to n.White Rabbit wants to visit these stores in the order from 1 to n.The store numbered...原创 2018-07-22 10:02:54 · 233 阅读 · 0 评论 -
POJ - 1088 滑雪
题目地址:https://vjudge.net/problem/16378/origin题目:It's not surprising that Wanggann likes skiing, because skiing is really exciting. However, in order to gain speed, the sliding area must be tilted d...原创 2018-08-09 16:46:18 · 188 阅读 · 0 评论 -
1029 B. Creating the Contest C++
题目地址:http://codeforces.com/problemset/problem/1029/B题目:You are given a problemset consisting of nn problems. The difficulty of the ii-th problem is aiai. It is guaranteed that all difficulties are...原创 2018-09-03 18:52:56 · 274 阅读 · 0 评论 -
CUSToj TanYz上楼梯 C++
题目地址:http://oj.cust.edu.cn/problem/101题目:描述 有一天,TanYz闲得慌,决定去南研楼爬楼梯(减肥)。对于爬楼梯,TanYz每走1步有3种走法,1种为1步跨1层台阶,1种为1步跨2层台阶,1种为1步跨3层台阶。费尽力气爬到十二楼的TanYz思考了一会,如果南研楼有一共有n层台阶,他会有多少种方式从底层爬到最顶层呢?输入输入含多...原创 2018-09-24 15:46:30 · 410 阅读 · 0 评论 -
Help Jimmy C++
题目:"Help Jimmy" 是在下图所示的场景上完成的游戏。 场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。 Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动的速度也是1米/秒。当Jimmy跑到平台的边缘时,开始继续下落。Jimmy每次下落的高度不能超过MAX米,不...原创 2018-06-12 21:35:09 · 277 阅读 · 0 评论