leetcode
Bluenapa
这个作者很懒,什么都没留下…
展开
-
LEETCODE : best-time-to-buy-and-sell-stock
题目描述假设你有一个数组,其中第i个元素是某只股票在第i天的价格。设计一个算法来求最大的利润。你最多可以进行两次交易。注意:你不能同时进行多个交易(即,你必须在再次购买之前出售之前买的股票)。Say you have an array for which theithelement is the price of a given stock on dayi.Design an algorithm to find the maximum profit. You may c...原创 2020-05-31 15:11:31 · 342 阅读 · 0 评论 -
LEETCODE : binary-tree-maximum-path-sum
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */class Solution {public: /** * * @param root TreeNode类 * @return int整型 */ int maxV = INT_MIN; int maxPathSum(TreeNode...原创 2020-05-25 10:46:12 · 216 阅读 · 0 评论 -
LEETCODE : palindrome-partition(DFS)
江湖传说,如果要输出所有可能的解,往往使用DFS。如果要输出最优解,或者解的数量,往往使用动态规划DP。class Solution {public: vector<vector<string>> partition(string s) { vector<vector<string>> res; vector<string> cur; dfs(s,cur,res);...原创 2020-05-18 22:02:02 · 231 阅读 · 0 评论 -
LEETCODE : clone-graph(图)
题目描述本题要求复制一个无向图,图中每个节点都包含一个标签和它的邻居列表我们无向图用以下的方法序列化:节点的标签是互不相同的, 我们使用“#”作为节点之间的分隔符,使用“,”作为节点标签和节点的节点邻居的分隔符。例如:现在有一个序列化的无向图{0,1,2#1,2#2,2}.这个无向图一共有3个节点,因此序列被#分隔成三部分第一个节点的标签是0,节点0和节点1,节点2之间有边 第二个节点的标签是1,节点1和节点2之间有边 第三个节点的标签是2,节点2和节点2(它自己)之间有边,..原创 2020-05-18 11:16:09 · 259 阅读 · 0 评论 -
LEETCODE : gas-station(贪心)
题目描述环形路上有n个加油站,第i个加油站的汽油量是gas[i].你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。注意:答案保证唯一。There areNgas stations along a circular route, where the amount of gas at statio...原创 2020-05-17 12:30:08 · 304 阅读 · 0 评论 -
LEETCODE : single-number(复杂度)
使用异或操作可以解决数字重复的问题,设置出现两次就归0,就像开了一局消消乐。注意:这是默认使用多个不同数字可以无顺序的对一个地址进行异或,最终结果不变。 for(int i = 1; i<n; i++){ A[0] ^= A[i];题目升级这个解法和上面的一样,只不过开了三个地址(开了三局消消乐)。ones这局仍然使用异或。twos这局使用ones的结果操作,保证有两个数字一样的时候把那个数字存下来。第三局threes 使...原创 2020-05-17 11:25:06 · 264 阅读 · 0 评论