随笔分类 - 力扣 top100
摘要:剑指 Offer 59 - I. 滑动窗口的最大值 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,
阅读全文
摘要:力扣238.除自身以外数组的乘积 & 51.构建乘积数组 题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[
阅读全文
摘要:力扣155.最小栈 & 剑指offer 20.包含min 函数的栈 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。 思路一:辅助栈和数据栈同步
阅读全文
摘要:142. 环形链表 II & 剑指offer 55. 链表中环的入口结点 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null 法一: 思路转自:23. 链表中环的入口结点 使用双指针,一个快指针 fast 每次移动两个节点,一个慢指针 slow 每次移动一个节点。因为
阅读全文
摘要:22. 从上往下打印二叉树 & 102. 二叉树的层序遍历 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路: 层序遍历二叉树即可 1 import java.util.ArrayList; 2 import java.util.Queue; 3 import java.uti
阅读全文
摘要:4. 重建二叉树 & 剑指 Offer 07. 重建二叉树 & 105. 从前序与中序遍历序列构造二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4
阅读全文
摘要:分析: 完整代码: C++实现 1 #include <stdio.h> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 6 const int maxn = 1010; 7 char S[maxn]; 8 in
阅读全文
摘要:动态规划(Dynamic Programming, DP)是一种用来解决一类最优化问题的算法思想,简单来使,动态规划是将一个复杂的问题分解成若干个子问题,或者说若干个阶段,下一个阶段通过上一个阶段的结果来推导出,为了避免重复计算,必须把每阶段的计算结果保存下来,方便下次直接使用。 动态规划有递归和递
阅读全文

浙公网安备 33010602011771号