LeetCode
为了梦想
一禅的师兄
这个作者很懒,什么都没留下…
展开
-
leetcode---每日一题(买卖股票的最佳时机含手续费)
一、题目表示给定一个整数数组prices,其中第i个元素代表了第i天的股票价格 ;非负整数fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。二、解题思路本题采用的是动态规划来进行解题,动态规划的基本步骤:(1)确定状态:研究最优策略的最后一步,化为子问题...原创 2020-12-17 12:46:48 · 311 阅读 · 0 评论 -
最长回文子串
思路:一个子串是否为回文串可以判断这个子串的第一个与最后一个是否相等+中间的子串是否为回文,中间的子串又可以分解为第一个与最后一个是否相等+中间的子串是否为回文,所以我们就找到了最优子结构,我们直接贴代码来分析#include <iostream>#include <string>#include <algorithm>#include <vector>#include <unordered_map>using namespace s原创 2020-11-24 22:13:12 · 104 阅读 · 0 评论 -
用最少数量的箭引爆气球
这是为什么?我们考虑任意一种最优的方法,对于其中的任意一支箭,我们都通过上面描述的方法,将这支箭的位置移动到它对应的「原本引爆的气球中最靠左的右边界位置」,那么这些原本引爆的气球仍然被引爆。这样一来,所有的气球仍然都会被引爆,并且每一支箭的射出位置都恰好位于某一个气球的右边界了。有了这样一个有用的断定,我们就可以快速得到一种最优的方法了。考虑所有气球中右边界位置最靠左的那一个,那么一定有一支箭的射出位置就是它的右边界(否则就没有箭可以将其引爆了)。当我们确定了一支箭之后,我们就可以将这支箭引...原创 2020-11-23 15:03:45 · 173 阅读 · 0 评论 -
剑指offer刷题
2.双指针思想替换空格class Solution {public: string replaceSpace(string s) { int count=0; int oldsize=s.size(); for(int i=0;i<oldsize;i++){ if(s[i]==' '){ count++; } } ...原创 2020-11-21 13:02:38 · 115 阅读 · 0 评论 -
LeetCode1——判断括号有效性
判断括号的有效性给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。解题思路当开始接触题目时,我们会不禁想到如果计算出左括号的数量,和右括号的数量,如果每种括号左右数量相同,会不会就是有效的括号了呢?事实上不是的,假如输入是 [{]},每种括号的左右数量分别相等,但不是有效的括号。这是因为结果还与括号的位置有关。仔细...原创 2020-11-16 23:52:41 · 425 阅读 · 0 评论