- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 Python-爬取今日头条美图
import requestsfrom urllib.parse import urlencodeimport osfrom hashlib import md5from multiprocessing.pool import Pooldef get_page(offset): params = { 'aid': '24', 'app_name': 'web_search', 'offset': offset, 'forma
2021-03-24 17:22:34 309 1
原创 LeetCode 84. 柱状图中最大的矩形
原题链接学习关于单调栈的使用。求连在一块的柱状构成的最大矩形的面积,整体思路是:从左到右依次遍历,如果当前柱状条的高度严格大于下一个柱状条,那么由当前柱状限制的最大面积的矩形就可以确定了。这符合单调性质。如果未能满足 1 中的条件,则需要暂时放过去考虑下一个柱状条,然后再从大到小遍历。符合栈的结构。因为柱状条的下标与矩形的宽度有关系,所以栈结构中存放的是某个条的下标。思路参考给出代码:class Solution {public: int largestRectangleAre
2021-03-19 14:47:41 113
原创 LeetCode 837. 新21点
原题链接思路动态规划问题,从后往前考虑。在优化时间复杂度的时候,将前后两项相同的部分消去。关于找状态转移方程的方法,一点感悟是:先定数组形式。一维数组找前后关系,二维数组找临近关系。代码:class Solution {public: double new21Game(int N, int K, int W) { if(K == 0) return 1.0; vector<double> res(K + W); for(int
2021-03-08 17:53:31 80
原创 LeetCode 1314. 矩阵区域和
原题链接本题为数组的二维前缀/行/列 前缀和 的应用。通过前缀和之间 的关系可以得到某区域内结果。代码参考class Solution {public: int get(const vector<vector<int>>& pre, int m, int n, int x, int y) { x = max(min(x, m), 0); y = max(min(y, n), 0); return pre[x][
2021-03-08 12:11:43 79
原创 LeetCode 剑指 Offer 64. 求1+2+…+n
原题链接短路效应的应用本题使用递归结构,一般递归结束条件为: if(n <= 1) return 1;这里可以换成 等价的布尔判断,当 n > 1 的条件 不满足时候,递归此时自动返回,返回层执行return 。本题代码:class Solution {public: int res = 0; int sumNums(int n) { n > 1 && sumNums(n -1); res += n;
2021-03-02 13:49:01 70
原创 LeetCode 剑指 Offer 30. 包含min函数的栈
原题链接使用双栈实现包含min函数的单栈,其中一个站用于维护当前栈内的最小排序元素。class MinStack {public: /** initialize your data structure here. */ MinStack() { while(!mystack.empty()) mystack.pop(); while(!minStack.empty()) minStack.pop(); } void push(i
2021-03-02 13:22:19 65
原创 LeetCode 110. 平衡二叉树
原题链接使用深度优先递归检验一棵二叉树是否是平衡二叉树:代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), le
2021-03-02 12:47:39 61
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人