![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 74
别说话写代码.
运动 学习 防脱发
展开
-
leetcode1021 删除最外层括号(String使用append和+时间差别)
leetcode1021 删除最外层括号题目:有效括号字符串为空 ("")、"(" + A + “)” 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,"","()","(())()" 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语(primitive),其中 A 和 B...原创 2019-05-02 15:03:06 · 205 阅读 · 0 评论 -
leetcode 559 N叉树的最大深度——DFS
DFS,递归代码:/*// Definition for a Node.class Node {public: int val; vector<Node*> children; Node() {} Node(int _val, vector<Node*> _children) { val = _val; ...原创 2019-05-04 11:52:47 · 145 阅读 · 0 评论 -
leetcode 104. 二叉树的最大深度 递归/层序遍历
一、“见树用递归”int maxDepth(struct TreeNode* root){ int left, right; if(0 == root) return 0; if(0 == root->left && 0 == root->right) return 1; left = maxDepth(root->le...转载 2019-05-03 15:36:39 · 149 阅读 · 0 评论 -
leetcode 338 比特位计数 ——dp/调用函数
DP:状态转移方程(我也不知道是怎么得出来的):ans[i] = ans[i/2]+i%2;tql引用博客:https://blog.csdn.net/qq_33655674/article/details/82632492或者调用函数__builtin_popcount(n)...转载 2019-05-03 15:17:14 · 121 阅读 · 0 评论 -
leetcode198 打家劫舍-DP
简单的经典DP题,类似 最大子序和状态转移方程:dp[i]=max{dp[i-1], A[i]+dp[i-2]}代码:(vector)class Solution { public: int max(int a,int b) { return a>b?a:b; } int rob(vector<int>& nums) { int siz...原创 2019-05-03 11:23:19 · 194 阅读 · 0 评论 -
leetcode746 使用最小花费爬楼梯-dp
和leetcode70 爬楼梯类似爬楼梯:https://blog.csdn.net/weixin_41900122/article/details/89765084代码:#include<bits/stdc++.h>using namespace std;int N;int cost[1002]; int min(int a,int b){ return a>...原创 2019-05-03 10:36:44 · 158 阅读 · 0 评论 -
leetcode 53 最大子序和——动态规划 O(n)/分治法 O(NlogN)
最大子序和,好经典的题了动态规划的状态转移方程:dp[i]=max{dp[i-1]+A[i], A[i]}dp[i]是以第i个元素结尾的子序和,A[i]是指第i个元素c++的vector实现代码(O(n)的时间复杂度)class Solution {public: int maxSubArray(vector<int>& nums) { ve...原创 2019-05-02 21:58:29 · 414 阅读 · 0 评论 -
leetcode70 爬楼梯-dp
第一次直接递归函数,超时第二次使用数组来记录,通过class Solution {public: int climbStairs(int n){ int a[1000]; memset(a,0,sizeof(a)); a[0]=1; a[1]=1; if(n<2){ return a[n]; }else{ for(int i=2;i<=n;i++){ ...原创 2019-05-02 21:20:23 · 123 阅读 · 0 评论 -
leetcode121 买卖股票最佳时机——dp
动态规划方程:前i天最大收益=max{前i-1天最大收益,第i天的价钱-前i-1天的最小值}c++实现#include<bits/stdc++.h>using namespace std;int N;int array[1000];int ans;int minarr(int array[], int a,int b){ //a,b之间的最小值,有a有b i...原创 2019-05-02 20:56:18 · 110 阅读 · 0 评论 -
leetcode1025除数博弈——SG函数
题目:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与...转载 2019-05-02 16:06:29 · 198 阅读 · 0 评论 -
leetcode 739. 每日温度-栈
题目:根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高的天数。如果之后都不会升高,请输入 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的都是 ...原创 2019-05-06 04:25:02 · 95 阅读 · 0 评论