06 2020 档案
摘要:题目链接 814. 二叉树剪枝 题目分析 这个题目给一棵二叉树,如果当前子树中不存在1,就要把这个子树从整棵树上剪掉。 遇到树的问题我们一般用递归的方法解决,递归主要有以下几个问题 结束条件 子递归条件 子递归的返回值的处理 对于树来说,结束条件一般是访问到空结点。在本题中也一样,同时我们每次的子递
阅读全文
摘要:题目链接 215. 数组中的第K个最大元素 题目思路 这个题最容易的思想就是先进行排序,排序完从后往前数k位即可。这个时间复杂度为O(nlogn),但是我们其实没必要对整个数组进行完全的排序。 第二种方法的有化解有优先队列(大顶堆),我们维护大小为k的大顶堆,然后遍历完整个数组之后,我们的大顶堆中存
阅读全文
摘要:题目链接 209. 长度最小的子数组 题目分析 这个题要我们求一个子数组,子数组意味着连续,而且这个题的数字全部都是正整数,刚好满足滑动窗口的条件,毫不犹豫就死命滑就完事了。 实现代码 class Solution { public int minSubArrayLen(int s, int[] n
阅读全文
摘要:题目链接 41. 缺失的第一个正数 题目分析 这个题如果没有下面的要求的话简直就是白给,直接一个map扫一次数组或者排序就行。 但是它这个既然提到了,我们还是得按照别人的要求做。 我们在剑指Offer里面有一题的思想和这里差不多,就是将满足要求的数放置到对应的下标上,由于题目是正整数,我们的数值应该
阅读全文
摘要:题目链接 1038. 从二叉搜索树到更大和树 题目分析 题目要求我们把大于等于当前结点的值累加起来然后替换掉该结点原来的值。考虑到这是一棵二叉搜索树,我们从右子树开始的中序遍历就是倒序数组。 我们需要一个pre指针指向前一个结点,就可以获得比你大的结点值之和,再加上当前结点的值就可以满足题目。 代码
阅读全文
摘要:题目链接 797. 所有可能的路径 题目分析 这个题,给了一个有向图的背景,然后要求我们把所有满足条件的路径都输出出来,看到返回值上的List<List>,刷题量比较多的人都知道这种一般都是回溯法解决。 代码实现 class Solution { public List<List<Integer>>
阅读全文
摘要:题目链接 面试题 02.01. 移除重复节点 思路分析 原题 这个题其实很简单,我们拿一个缓冲区去记录出现过的数字就可以了。如果缓冲区中有当前结点的值的话,我们直接跳到下一个,否则我们就把当前结点纳入到缓冲区中,并且使上一个结点的next指针指向当前结点,当然还要把当前结点的next指针指向空。 这
阅读全文
摘要:题目链接 139. 单词拆分 题目分析 这个题要求我们去检查s是否能拆分成字典集合中的单词,其中字典集中可以把重复出现的单词看做一个。 我们仔细看第三个测试用例,可以发现他说的拆分就是你一个字母不能同时属于两个新单词。 这个题第一次做不会,后来看了题析才知道是DP问题,今天这个题作为每日一题, 自然
阅读全文
摘要:题目 1436. 旅行终点站 思路分析 这个题其实很简单啊,可以把它看成一个有向图,我们需要在这个有向图中找出度为0的点即可。 代码实现 class Solution { public String destCity(List<List<String>> paths) { HashMap<Strin
阅读全文
摘要:题目地址 16. 最接近的三数之和 题目分析 这个题和三数之和很相似,所以我采用了相同的做法,先进行排序,每次固定左手边的值。然后使用双指针从左边和右边寻找三数之和最接近target的值,这样做的效率有点差,两个月过去了水平还没啥提升,我醉了。 实现代码 class Solution { publi
阅读全文
摘要:简介 这个学期上完了虚拟化与云计算这门课程,涉及到了大数据的一些实验,由于Hadoop的单机伪分布式配置在网上还是非常的杂碎,所以我自己写了个方便自己理解的安装教程。 环境介绍 OS: Ubuntu 20.04 JDK: OpenJdk 8 Hadoop: 3.13 过程 配置Hadoop用户 ha
阅读全文
摘要:67. 二进制求和 题目分析 这个题很明显就是对字符串的每一个位进行操作,思想也很简单啊,主要还是考验代码风格吧。 我们只需要从右到左每个位进行判断,然后填入新的字符串中,最后进行返回即可。 实现代码 class Solution { public String addBinary(String a
阅读全文
摘要:原由 最近做项目,由于数据库的字段名和pojo对象中的名称不一样,导致 Mybatis查出来的数据没有办法直接绑定到POJO对象上,所以我就去回顾了以下mybatis的集合绑定。 代码 <resultMap id="customerResultMap" type="Customer"> <id pr
阅读全文
摘要:问题描述 在Springboot项目中,当我们把数据库中的时间类型查询出来后,通过JSON字符串后发给前端,前端收到数据再把时间戳转换回来的时候会发现得到的时间和数据库中的时间相差8小时。 这种问题一般都是时区问题产生的,有两个方法可以解决这个问题。 解决方法 方法一 url: jdbc:mysql
阅读全文
摘要:1028. 从先序遍历还原二叉树 题目分析 这个题其实跟我们之前序列化二叉树的题有点类似,这个题的难点在于怎么把对应的层次节点的父节点找出来,说实话想的有点久。 因为树的问题一般都是递归解决,所以我这次也是用了递归的方法。 具体来说就是 字符串的第一次出现的数字必定为当前树的根节点,因为他是前序遍历
阅读全文
摘要:1014. 最佳观光组合 题目分析 这个题一开始我也没看懂怎么做,但是我知道暴力是可以解出来的,就尝试写了暴力写法,但是TLE了。 后来静下来仔细分析。我们在这个过程中需要寻找的是最大的两个值去进行比较。 我就依照这个思路做了第一版答案,发现这个思想是错的,因为两个最大值之间的距离可能非常的大,甚至
阅读全文
摘要:297. 二叉树的序列化与反序列化 题目分析 这个题目,要求我们把一棵二叉树序列化成字符串,并且还要把这个字符串反序列化成一棵树。 讲真这个题写的hard难度的确吓死不少的人,不过这个字符串的要求还是比较宽松的,比如说空节点我们可以用一个符号来表示,这样就不用像普通构造二叉树的方法需要前缀+中缀遍历
阅读全文
摘要:14. 最长公共前缀 简单题,就不多说了 class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length == 0){ return ""; } String str = strs[0]; for(
阅读全文
摘要:1300. 转变数组后最接近目标值的数组和 这个题是昨天的每日一题,昨天太忙了,没来得及写完。但是有了思想,本地上跑了几次发现跑出来的答案又误差就溜掉了。 今天有空了就来填一下坑。 class Solution { public int findBestValue(int[] arr, int ta
阅读全文
摘要:Bigo一面凉经 周三突然收到个电话,问我还还找实习吗。仔细一听居然是bigo的人,我5月初投的bigo,当初一起投的虎牙简历关都没过,本来以为bigo也是一样吧学历卡的死死地,但是在一个月之后居然收到了面试邀请。这个也算是我春招的第一次面试吧。所以我决定把面试的经历写下来,为自己的秋招敲一个警
阅读全文
摘要:128. 最长连续序列 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 这个题就是让你在给定的数组中找一个连续递增的序列,
阅读全文
摘要:875. 爱吃香蕉的珂珂 1011. 在 D 天内送达包裹的能力 这两个题其实都是二分查找算法的变种,这两个题如果没有做过的话根本想不到他和二分查找有什么关系,其实它们内部还是隐含了一些的条件的。 首先875题,他问的是吃香蕉的速度应该怎么取,那么我们要知道吃香蕉的速度应该在什么范围之内。题目中说如
阅读全文
摘要:https://leetcode-cn.com/problems/restore-ip-addresses/ 这个题很典型的回溯算法,但是要考虑的问题真的太多了,写的我好烦。 public List<String> restoreIpAddresses(String s) { List<String
阅读全文