
LeetCode
qq_35604674
这个作者很懒,什么都没留下…
展开
-
104.二叉树的最大深度
1. 递归二叉树的最大深度 = max(左子树深度 + 右子树深度) + 1只考虑根节点是否为空,其余交给递归处理深度优先#include<algorithm>class Solution {public: int maxDepth(TreeNode* root) { if(root == NULL) return 0; return max(maxDepth(root->left),maxDepth(root->rig.原创 2020-07-28 09:51:54 · 246 阅读 · 0 评论 -
62.不同路径
1. 动态规划到达每个位置的路径数 = 到达该位置左边的路径数 + 到达该位置上边的路径数。显然,第一行每个位置只有一条路径到达(只能向右),第一列的每个位置只有一条路径到达(只能向下)。题目中m×n,m表示列,n表示行。双重循环行优先遍历。class Solution {public: int uniquePaths(int m, int n) { if(m==0 || n==0) return 0; //m列n行 vect..原创 2020-07-27 08:49:24 · 132 阅读 · 0 评论 -
64.最小路径和
动态规划右下角的最小路径 = min(上方最小路径 + 右下角,左边最小路径 + 右下角)00位置的最小路径 = gird[0][0]01位置的最小路径 = grid[0][0] + grid[0][1]。……11位置的最小路径 = min(01,10) + grid[1][1]……class Solution {public: int minPathSum(vector<vector<int>>& grid) { int m = .原创 2020-07-23 10:02:12 · 88 阅读 · 0 评论 -
167. 两数之和2-输入有序数组
1. 暴力双重循环找到两数之和等于target的两个数。class Solution {public: vector<int> twoSum(vector<int>& numbers, int target) { if(numbers.empty()) return {-1,-1}; for(int idx1 = 0; idx1 < numbers.size()-1; ++idx1){ for(in.原创 2020-07-21 14:34:38 · 113 阅读 · 0 评论 -
1025.除数博弈
1. 找规律,数学归纳法证明N说明结果1Alice无法进行操作false2Alice选择1,bob无法进行操作ture3Alice选择1,bob选择1,Alice无法进行操作false4Alice选择1,剩余3,bob最终无法进行操作(alice选择2会导致false)true规律:奇数false,偶数true证明:N=1,N=2时满足结论设2<N<=k时结论成立当N=k+1,1)k为偶数,k+1为奇数,奇数的因子为..原创 2020-07-24 14:20:49 · 125 阅读 · 0 评论