![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题笔记
文章平均质量分 82
记录部分leetcode题目思路,以及平时遇到的题目。
Better_WZQ
这个作者很懒,什么都没留下…
展开
-
滑动窗口最大值
滑动窗口最大值题目链接方法1:暴力求解:对于每个滑动窗口,我们可以使用 O(k) 的时间遍历其中的每一个元素,找出其中的最大值。对于长度为 n 的数组 nums ,窗口的数量为 n-k+1因此该算法的时间复杂度为 O((n-k+1)k)=O(nk),会超出时间限制,需要进行一些优化。暴力优化:滑动窗口特点就是每次移动,会出一个元素,进一个元素。也就是说它们共用着 k-1个元素,而只有 1 个元素是变化的。我们可以根据这个特点进行优化。首先最容易想到的就是去维护一个最大值,窗口每滑动一次,原创 2021-01-09 22:41:05 · 6127 阅读 · 0 评论 -
二叉树遍历相关代码
经过两场大厂面试,面了四道算法题目,发现自己菜到连数据结构最基本的一些算法题目都无法快速写下来,这些基础题目延申出来的题目,简单到上去就基本有思路,但是在面试的时候,依然无法快速地把代码写出来。痛心疾首,有了这篇博文。基础题目,5~10分钟,完成代码是最基本的能力(题号是力扣的题号)144:二叉树的前序遍历//递归public List<Integer> preorderTr...原创 2020-03-03 18:55:06 · 290 阅读 · 0 评论 -
力扣--135:分发糖果
135:分发糖果(困难)老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗...原创 2020-02-27 18:54:17 · 413 阅读 · 0 评论 -
刷题总结--字典序
386:字典序排数 (中等)给定一个整数 n, 返回从 1 到 n 的字典顺序。例如,给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。来源:力扣(LeetCode)思路:刚开始看到这个题目,主要是不太清楚什么是字典序看下图:每一个节点都拥有 10 ...原创 2020-02-26 22:46:11 · 593 阅读 · 0 评论 -
java高频面试题目记录三----成员变量与局部变量
题目和打印结果题目资源考点:1:就近原则2:变量的分类(成员变量:类变量,实例变量 )(局部变量)3:非静态代码块的执行:在()方法中执行,即每次创建实例对象都会执行4:方法的调用规则:调用一次执行一次堆(Heap):存放对象实例(所有的对象实例以及数组都要在堆上分配)栈(Stack):虚拟机栈,用于存储局部变量表–局部变量表存放了编译器可知长度的各种基本数据类型(boo...原创 2020-02-23 11:25:29 · 271 阅读 · 0 评论 -
java高频面试题目记录二
1:程序题----------类初始化和实例初始化父类:public class Father { private int i = test(); private static int j = method(); static{ System.out.println("(1)"); } Father() { System.out.println("(2)"); }...原创 2020-02-22 16:03:23 · 190 阅读 · 0 评论 -
java高频面试题目记录一
程序题–自增变量源自B站视频:传送门这里注意容易出错的地方是上图右边步骤中的2,5 自增是在局部变量表中自增。而赋值操作是将操作数栈里的数赋值给局部变量表对应的变量。编程题–写一个单例设计模式饿汉式的三种创建方式1:直接实例化/* *饿汉式 *在类初始化的时候,直接创建实例对象,不管你是否需要这个对象,都会创建 * * (1)构造器私有化 * (2)自行创建,并保存...原创 2020-02-21 23:18:29 · 202 阅读 · 0 评论 -
刷题笔记--三数之和系列
题目1–15:三数之和给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]来源:力扣(L...原创 2020-02-08 10:35:20 · 299 阅读 · 0 评论 -
刷题总结--两数之和系列
题目1–1:两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2020-02-07 21:32:59 · 212 阅读 · 0 评论 -
最近被问到的一些题目记录一下
题目一:从0到2∧32-1,去掉其中某一个数,要求用最少的内存空间找到那个数思路:看到这个题目,第一个关注点就是0-2∧32-1。会想到用二进制来表示这些数据,而这2∧32个数,用二进制表示的时候,每一位出现的1和0次数都是一样的。如果少了其中的某一个数,每一位就会少一个0或者一个1。基于此,我们可以对每一位统计0和1的个数。0少那一位就是说明删除的数该位为0,1少那一位就说明删除的数该位...原创 2020-02-03 19:58:06 · 199 阅读 · 0 评论