04 2021 档案

摘要:方法一: 单调栈(单调递增栈) 1. 对给定数组 A[ ] 中的每个元素 A[i] ,如果能 求出包含 arr [ i ] 并以 A[i] 为最小元素的所有子数组个数n[i], 则元素 A[i] 对答案 ans 的贡献为n[i]* A[i] 。 2. 那么我们可以先求包含 A[i] 并以A[i]为最 阅读全文
posted @ 2021-04-25 21:27 谁在写西加加 阅读(83) 评论(0) 推荐(0)
摘要:方法一 中心扩散法 解析: 回文串一定是 中心对称的,回文串的对称中心可能是 1 个字符,也可能是 2个字符,遍历 s 中的 字符 分别以 s[i] 和s[i] 、s[i+1] 为中心像两边扩散,记录 最长 回文串的 起始位置 和长度。 时间 O(n ^ 2) 空间 O(1) 代码: 1 //方法一 阅读全文
posted @ 2021-04-22 10:28 谁在写西加加 阅读(95) 评论(0) 推荐(0)
摘要:解析: ,以上图的示例1为例,三角形 有 4 行。行号 0,1,2,3 ;最后一行每个数(4,1,8,3) 到三角形底部的路径就是其自身的值。 1. 定义状态 dp[i][j] 表示 元素 triangle[i][j] 到三角形底部的路径。 2. 状态转移方程 :dp[i][j] = min(dp[ 阅读全文
posted @ 2021-04-21 19:34 谁在写西加加 阅读(111) 评论(0) 推荐(0)
摘要:一 什么是rpc框架? 先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 1.1 那什么是远程调用? 通常我们调用一个 c/c++ 中的函数,比如: localAdd(10, 20),localAdd方法的具体实现要么是用户 阅读全文
posted @ 2021-04-21 12:50 谁在写西加加 阅读(2334) 评论(1) 推荐(0)
摘要:解析:使用 单调栈 + 哨兵的思想 解决,具体思路可参考 liweiwei 题解:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/solution/bao-li-jie-fa-zhan-by-liweiwei1419/ 阅读全文
posted @ 2021-04-20 21:45 谁在写西加加 阅读(102) 评论(0) 推荐(0)
摘要:关于排序算法的考察,需重点掌握 快速排序 、归并排序 、 堆排序 。 1. 快速排序 1.1 快速排序算法的思想与实现 快速排序的重点是要掌握其划分的思想,划分算法需要先挑选一个 元素作为 pivot。在划分执行完之后, pivot左边的元素都小于等于它,右边的元素都大于等于它,pivot 的位置就 阅读全文
posted @ 2021-04-18 22:11 谁在写西加加 阅读(225) 评论(0) 推荐(0)
摘要:题目描述: 某种二叉树的节点包含指向 左子树、右子树、父节点的 3 个指针,给定该二叉树中的某个节点 , 返回它的中序遍历的下一个节点的指针。 分析: 节点(设为x) 中序遍历的下一个节点有以下可能: 1. 若x有右子树。则x的下一个节点为x右子树最左侧节点。如,2的下一个节点为8。 2. 若x没有 阅读全文
posted @ 2021-04-16 11:46 谁在写西加加 阅读(77) 评论(0) 推荐(0)
摘要:具体可参考 https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/solution/bao-li-jie-fa-fen-zhi-si-xiang-shu-zhuang-shu-zu-b/ 代码如下: 1 class Solut 阅读全文
posted @ 2021-04-12 20:16 谁在写西加加 阅读(59) 评论(0) 推荐(0)
摘要:解析:参考 LeetCode 评论区 liweiwei1419 大神的题解 https://leetcode-cn.com/problems/maximum-product-subarray/solution/dong-tai-gui-hua-li-jie-wu-hou-xiao-xing-by-l 阅读全文
posted @ 2021-04-12 12:41 谁在写西加加 阅读(101) 评论(0) 推荐(0)
摘要:题目描述: 解析: 参考 VV大神 的题解: https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-er-fen-cha-zhao-tan-xin-suan-fa-p/ 方法 阅读全文
posted @ 2021-04-10 20:54 谁在写西加加 阅读(89) 评论(0) 推荐(0)
摘要:题目描述: 题解: 滑动窗口思想:用 i, j 表示滑动窗口的左边界和右边界,通过改变i,j来扩展和收缩滑动窗口,可以想象成一个窗口在字符串上游走, 当这个窗口包含的元素满足条件,即包含字符串T的所有元素,记录下这个滑动窗口的长度j-i+1 和 窗口其实位置 i ,这些长度中的最小值 对应的子串 就 阅读全文
posted @ 2021-04-09 15:06 谁在写西加加 阅读(78) 评论(0) 推荐(0)
摘要:题目描述: 思路: 对上图示例 2,设置两个指针 A_ptr 和 B_ptr ,让A_ptr 初始 指向链表headA头部 (结点 0), B_ptr初始指向链表headB头部(结点3), A_ptr 和 B_ptr同步地向后移动,A_ptr 到结点 0 所在链表尾部后,跳到headB头部(结点 3 阅读全文
posted @ 2021-04-07 14:09 谁在写西加加 阅读(50) 评论(0) 推荐(0)
摘要:题目描述: 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 class Solution { 4 public: 5 bool exist(vector<vector<char>>& board, string word) 6 { 7 阅读全文
posted @ 2021-04-06 21:25 谁在写西加加 阅读(65) 评论(0) 推荐(0)
摘要:题目描述: 解析: 此类题目 回溯法 相关的题型:排列、组合、子集相关问题 回溯相关问题 可参考 : https://leetcode-cn.com/problems/permutations/solution/hui-su-suan-fa-python-dai-ma-java-dai-ma-by- 阅读全文
posted @ 2021-04-06 18:55 谁在写西加加 阅读(81) 评论(0) 推荐(0)
摘要:题目描述: 思路: 1. 先把整个字符串翻转; 2. 然后再将字符串中的每个单词往前移同时对每个单词再做翻转,每个单词之间留出一个空格。 3. 在步骤 2 完成之后,原字符串中多余的空格会全部在字符串尾部,再将字符串尾部多余的空格 全部删除即可; 代码: 1 #include <bits/stdc+ 阅读全文
posted @ 2021-04-06 17:13 谁在写西加加 阅读(67) 评论(0) 推荐(0)
摘要:题目描述: 思路: 对两个数字字符串从字符串的最后一位(数字的最低位)相加,统计进位情况,具体实现如下所示: 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 class Solution { 5 public: 6 string a 阅读全文
posted @ 2021-04-02 15:22 谁在写西加加 阅读(63) 评论(0) 推荐(0)
摘要:题目描述: 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 class Solution { 4 public: 5 bool isBalanced(TreeNode* root) 6 { 7 int h = 0; 8 return i 阅读全文
posted @ 2021-04-02 10:32 谁在写西加加 阅读(41) 评论(0) 推荐(0)
摘要:题目描述: 代码: 1 class Solution { 2 public: 3 bool isValidSudoku(vector<vector<char>>& board) 4 { 5 unordered_map<int,unordered_set<char>> r_memo;//某行的所有元素 阅读全文
posted @ 2021-04-01 18:54 谁在写西加加 阅读(78) 评论(0) 推荐(0)
摘要:题目描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 1. 每行的元素从左到右升序排列。2. 每列的元素从上到下升序排列 思路: 根据 搜索的矩阵 matrix 特性,可以将 target 和矩阵的右上角元素 比较。 1. 要是相 阅读全文
posted @ 2021-04-01 15:04 谁在写西加加 阅读(72) 评论(0) 推荐(0)
摘要:题目描述: 求一个整数 x 的平方根,返回整数,结果是小数 ,就向下取整。 思路: x的平方根 一定在 [1,x ] 区间内,使用二分查找,在 O(log x) 时间就可找到。 代码如下所示。 1 class Solution { 2 public: 3 //二分法 Time O(log x) 空间 阅读全文
posted @ 2021-04-01 13:03 谁在写西加加 阅读(54) 评论(0) 推荐(0)
摘要:1 #include <bits/stdc++.h> 2 using namespace std; 3 4 class Solution { 5 public: 6 Node* copyRandomList(Node* head) 7 { 8 //第一步:遍历原链表生成新链表,同时用哈希表 memo 阅读全文
posted @ 2021-04-01 11:00 谁在写西加加 阅读(57) 评论(0) 推荐(0)