大厂面试真题详解:山脉序列中的最大值
给 n 个整数的山脉数组,即先增后减的序列,找到山顶(最大值) 数组严格递增,严格递减 在线评测地址:领扣题库官网 例1: 输入: nums = [1, 2, 4, 8, 6, 3] 输出: 8 例2: 输入: nums = [10, 9, 8, 7], 输出: 10 算法:二分 算法思路 由于本题数据是具有部分单调性,我们可以考虑用二分法来解决 并且本题保证数组严格递增或严格递减,所以相...

大厂面试真题详解:合并区间
给出若干闭合区间,合并所有重叠的部分。在线评测地址:领扣题库官网 样例1: 输入: [(1,3)] 输出: [(1,3)] 样例 2: 输入: [(1,3),(2,6),(8,10),(15,18)] 输出: [(1,6),(8,10),(15,18)] 解题思路 对应两个区间a, b,如何判断它们相交?当a, b满足max(a.start,b.start)<=min(a.end,b.e.....

大厂面试真题详解:带最小值操作的栈
实现一个栈, 支持以下操作: push(val) 将 val 压入栈 pop() 将栈顶元素弹出, 并返回这个弹出的元素 min() 返回栈中元素的最小值要求 O(1) 开销. 在线评测地址:[领扣题库官网](https://www.lintcode.com/problem/min-stack/?utm_source=sc-tianchi-sz0929) 样例: 输入: push(1)...

大厂面试真题题解:目标最后位置
给一个升序数组,找到 target 最后一次出现的位置,如果没出现过返回 -1 在线评测地址:领扣题库官网 样例 1: 输入:nums = [1,2,2,4,5,5], target = 2 输出:2 样例 2: 输入:nums = [1,2,2,4,5,5], target = 6 输出:-1 算法:二分 算法思路 题目要求我们找到target最后一次出现的位置,由于数组是有序数组,我们可以考....

大厂面试真题题解:搜索二维矩阵
写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性: 每行中的整数从左到右是排序的。 每行的第一个数大于上一行的最后一个整数。 在线评测地址:领扣题库官网 样例 1: 输入: [[5]],2 输出: false 样例解释: 没有包含,返回false。 样例 2: 输入: [ [...

大厂面试真题:第一个错误的代码版本
代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。 在线评测地址:领扣刷题官网 样例 n = 5: isBadVersion(3) -> fals...

阿里面试真题题解:单词搜索 II
给出一个由小写字母组成的矩阵和一个字典。找出所有同时在字典和矩阵中出现的单词。一个单词可以从矩阵中的任意位置开始,可以向左/右/上/下四个相邻方向移动。一个字母在一个单词中只能被使用一次。且字典中不存在重复单词。 在线评测地址:领扣刷题官网 样例 1: 输入:["doaf","agai","dcan"],["dog","dad","dgdg","can","again"] 输出:["again"....

[leetcode/lintcode 题解]大厂面试真题:数据流中位数
数字是不断进入数组的,在每次添加一个新的数进入数组的同时返回当前新数组的中位数。 说明中位数的定义: 这里的中位数不等同于数学定义里的中位数。 中位数是排序后数组的中间值,如果有数组中有n个数,则中位数为A[(n−1)/2]。 比如:数组A=[1,2,3]的中位数是2,数组A=[1,19]的中位数是1。 在线评测地址:领扣官网 样例1 输入: [1,2,3,4,5] 输出: [1,1,2,2...
![[leetcode/lintcode 题解]大厂面试真题:数据流中位数](https://ucc.alicdn.com/pic/developer-ecology/060c6343746849f6a7c2a97352aa38b9.png)
LintCode 题解丨高频面试真题详解:子集 II
给定一个可能具有重复数字的列表,返回其所有可能的子集。 在线评测地址:LintCode 领扣 样例 1: 输出: [ [], [0] ] 样例 2: 输出: [ [2], [1], [1,2,2], [2,2], [1,2], [] ] 解题思路 这道题我们需要使用dfs+回溯的方法来进行求解。 由于题目明确指出列表中可能有重复数字,所以我们在dfs的时候要进...

LintCode 题解丨面试真题:两数之和 III-数据结构设计
设计并实现一个 TwoSum 类。他需要支持以下操作:add 和 find。 add -把这个数添加到内部的数据结构。 find -是否存在任意一对数字之和等于这个值 在线评测地址: LintCode 领扣样例 1: add(1);add(3);add(5);find(4)//返回truefind(7)//返回false【题解】 使用哈希表的方法是最快的。 add 可以做到 O....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注