随笔分类 - 面试
摘要:160. 相交链表 LeetCode_160 题目描述 题解分析 本题使用的方法是双指针法,题目和环形链表相似,都是利用链表的特性来求解。 当遍历链表a到达尾部时,再指向链表b的头部;当遍历链表b到末尾时,再指向链表a的头部。 再次相遇时便是相交结点。 java代码 /** * Definition
阅读全文
摘要:142. 环形链表 II LeetCode_142 题目描述 题解分析 判断链表是否存在环 对于这个问题我们可以采用“快慢指针”的方法。就是有两个指针fast和slow,开始的时候两个指针都指向链表头head,然后在每一步操作中slow向前走一步即:slow = slow->next,而fast每一
阅读全文
摘要:1.总述 java命令用来启动一个java应用。有以下两种用法: java [options] mainClass [args...] java [options] -jar jarfile [args...] 第一种从指定的java类开始启动,第二种从可运行的jar开始启动。java应用启动的过程
阅读全文
摘要:处理海量数据问题的四板斧 分治 基本上处理海量数据的问题,分治思想都是能够解决的,只不过一般情况下不会是最优方案,但可以作为一个baseline,可以逐渐优化子问题来达到一个较优解。传统的归并排序就是分治思想,涉及到大量无法加载到内存的文件、排序等问题都可以用这个方法解决。 适用场景:数据量大无法加
阅读全文
摘要:11. 设计模式 11.0 设计原则 单一职责原则 不要存在多于一个导致类变更的原因。 总结:一个类只负责一项职责。 里氏替换原则 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。 子类中可以增加自己特有的方法。 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入
阅读全文
摘要:185. 部门工资前三高的所有员工 LeetCode_MySql_185 题目描述 方法一:使用join on # Write your MySQL query statement below select d.Name as 'Department', e1.Name as 'Employee',
阅读全文
摘要:5. 最长回文子串 LeetCode_5 题目详情 方法一:暴力法(超时) class Solution { public String longestPalindrome(String s) { int len = s.length(); int maxLen = 0; String result
阅读全文
摘要:184. 部门工资最高的员工 LeetCode_MySql_184 题目描述 题解分析 1.首先需要使用group by找出工资最高的值 2. 然后考虑到最高工资的可能有多位,所以使用in语句找到所有符合条件的员工 3. 最外层使用连接连表查询员工所在的部门名字。 代码实现 # Write your
阅读全文
摘要:183. 从不订购的客户 LeetCode_MySql_183 题目描述 代码实现 # Write your MySQL query statement below select Name as 'Customers' from Customers where Customers.Id not in
阅读全文
摘要:182. 查找重复的电子邮箱 LeetCode_MySql_182 题目描述 方法一:使用笛卡尔积 # Write your MySQL query statement below select distinct t1.Email from Person t1, Person t2 where t1
阅读全文
摘要:653. 两数之和 IV - 输入 BST 题目描述 题解分析 最简单的方法就是遍历整棵树,找出所有可能的组合,判断是否存在和为 kk 的一对节点。现在在此基础上做一些改进。 如果存在两个元素之和为 k,即 x+y=k,并且已知 x 是树上一个节点的值,则只需判断树上是否存在一个值为 y 的节点,使
阅读全文
摘要:167. 两数之和 II - 输入有序数组 LeetCode_167 题目描述 方法一:暴力法(使用哈希表) class Solution { public int[] twoSum(int[] numbers, int target) { int len = numbers.length; Has
阅读全文
摘要:1. 两数之和 LeetCode_1 题目描述 方法一:暴力法 package com.walegarrett.interview; /** * @Author WaleGarrett * @Date 2021/3/1 12:21 */ /** * 题目描述:给定一个整数数组 nums 和一个整数目
阅读全文
摘要:381. O(1) 时间插入、删除和获取随机元素 - 允许重复 LeetCode_381 题目详情 题解分析 代码实现 package com.walegarrett.interview; import java.util.*; /** * @Author WaleGarrett * @Date 2
阅读全文
摘要:面试题 一、Hadoop 1.Hadoop面试题总结(一) 2.Hadoop面试题总结(二)——HDFS 3.Hadoop面试题总结(三)——MapReduce 4.Hadoop面试题总结(四)——YARN 5.Hadoop面试题总结(五)——优化问题 二、Zookeeper 1.Zookeeper
阅读全文
摘要:题目来源 LeetCode_33 相似题目 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 154. 寻找旋转排序数组中的最小值 II 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums
阅读全文
摘要:40. 组合总和 II LeetCode_40 题目描述 题解分析 此题和 39. 组合总和 + 递归 + 回溯 + 存储路径很像,只不过题目修改了一下。 题解的关键是首先将候选数组进行排序,然后记录每个数的出现次数。 将去重后的数组当成是新的候选数组进行递归搜索。 回溯的时候注意是在最后将相同数字
阅读全文
摘要:39. 组合总和 LeetCode_39 题目描述 题解分析 这是一道面试常考题:https://www.nowcoder.com/discuss/582025?source_id=discuss_experience_nctrack&channel=-1 题目考察的是递归搜索,这里使用的方法是回溯
阅读全文
摘要:440. 字典序的第K小数字 LeetCode_440 题目描述 方法一:暴力法(必超时) package com.walegarrett.interview; /** * @Author WaleGarrett * @Date 2021/2/25 19:49 */ /** * 题目描述:给定整数
阅读全文
摘要:题目来源 LeetCode-121 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取
阅读全文

浙公网安备 33010602011771号