09 2020 档案
摘要:给出若干闭合区间,合并所有重叠的部分。 在线评测地址:领扣题库官网 样例1: 输入: [(1,3)] 输出: [(1,3)] 样例 2: 输入: [(1,3),(2,6),(8,10),(15,18)] 输出: [(1,6),(8,10),(15,18)] 解题思路 对应两个区间a, b,如何判
阅读全文
摘要:实现一个栈, 支持以下操作: push(val) 将 val 压入栈 pop() 将栈顶元素弹出, 并返回这个弹出的元素 min() 返回栈中元素的最小值 要求 O(1) 开销. 在线评测地址:领扣官网题库 样例: 输入: push(1) min() push(2) min() push
阅读全文
摘要:给一个升序数组,找到 target 最后一次出现的位置,如果没出现过返回 -1 在线评测地址:领扣题库官网 样例 1: 输入:nums = [1,2,2,4,5,5], target = 2 输出:2 样例 2: 输入:nums = [1,2,2,4,5,5], target = 6 输出:
阅读全文
摘要:自学的Java,最近想找些项目练手,我自己找了几个项目,觉得还不错。不知道大家有没有好的项目可以推荐? 1.mall:电商系统 star:41.5k 包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流
阅读全文
摘要:你需要去上n门九章的课才能获得offer,这些课被标号为 0 到 n-1 。 有一些课程需要“前置课程”,比如如果你要上课程0,你需要先学课程1,我们用一个匹配来表示他们: [0,1] 给你课程的总数量和一些前置课程的需求,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序
阅读全文
摘要:问题描述 如何设计一个ATM Machine? 解题思路 这是一道常考的OOD面向对象面试题,属于 Real-life Object Deisgn, 类似面试题型有Vending Machine 等。 更多题型课查看领扣题库官网 1.Clarify ATM机的Input和Output是什么?Assu
阅读全文
摘要:写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。 每行的第一个数大于上一行的最后一个整数。 在线评测地址:领扣题库官网 样例 1: 输入: [[5]],2 输出: false 样例解释: 没有包含,返回false。 样例 2: 输入: [ [1
阅读全文
摘要:代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。 你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。 在线评
阅读全文
摘要:给出一个由小写字母组成的矩阵和一个字典。找出所有同时在字典和矩阵中出现的单词。一个单词可以从矩阵中的任意位置开始,可以向左/右/上/下四个相邻方向移动。一个字母在一个单词中只能被使用一次。且字典中不存在重复单词。 在线评测地址:领扣刷题地址 样例 1: 输入:["doaf","agai","dcan
阅读全文
摘要:数字是不断进入数组的,在每次添加一个新的数进入数组的同时返回当前新数组的中位数。 说明 中位数的定义: 这里的中位数不等同于数学定义里的中位数。 中位数是排序后数组的中间值,如果有数组中有n个数,则中位数为A[(n−1)/2]。 比如:数组A=[1,2,3]的中位数是2,数组A=[1,19]
阅读全文
摘要:S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 简写全拼中文翻译 SRP The Single Responsibility Principle 单一责任原则 OCP The Open Closed Princip
阅读全文
摘要:给定一个可能具有重复数字的列表,返回其所有可能的子集。 在线评测地址: LintCode 领扣 样例 1: 输入:[0] 输出: [ [], [0] ] 样例 2: 输入:[1,2,2] 输出: [ [2], [1], [1,2,2], [2,2], [1,2], [] ] 解题思路 这道题我们需
阅读全文
摘要:给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 在线评测地址: LintCode 领扣 样例 1: 输入:[1,4,4,5,7,7,8,9,9,10],1 输出
阅读全文
摘要:设计并实现一个 TwoSum 类。他需要支持以下操作:add 和 find。 add -把这个数添加到内部的数据结构。 find -是否存在任意一对数字之和等于这个值 在线评测地址: LintCode 领扣 样例 1: add(1);add(3);add(5); find(4)//
阅读全文
摘要:n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行,同一列,同一斜线)。 给定一个整数n,返回所有不同的n皇后问题的解决方案。 每个解决方案包含一个明确的n皇后放置布局,其中“Q”和“.”分别表示一个女王和一个空位置。 在线评测地址: LintCode
阅读全文
摘要:他来了他来了,他带着求职干货走来啦! 他是谁? BATJ互联网大厂P8技术专家,10+年Java后端架构经验,他就是杨逍老师! 讲座内容介绍: 如何成为大厂工程师? Java高级工程师的求职路径 Java高级工程师的技能树 不同级别的工程师技能要求 Java高级工程师面试题一览 讲座时间: 北京9月
阅读全文
摘要:给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例1: 输入:[−2,2,−3,4,−1,2,1,−5,3] 输出:6 解释:符合要求的子数组为[4,−1,2,1],其最大和为 6。 样例2: 输入:[1,2,3,4] 输出:10 解释:符合要求的子数组为[1,2,3,4],其最大和
阅读全文
摘要:给定骑士在棋盘上的 初始 位置(一个2进制矩阵 0 表示空 1 表示有障碍物),找到到达 终点 的最短路线,返回路线的长度。如果骑士不能到达则返回 -1 。 起点跟终点必定为空. 骑士不能碰到障碍物. 路径长度指骑士走的步数. 在线评测地址: LintCode 领扣 说明 如果
阅读全文
摘要:判断是否序列 org 能唯一地由 seqs重构得出. org是一个由从1到n的正整数排列而成的序列,1≤n≤10^4。 重构表示组合成seqs的一个最短的父序列 (意思是,一个最短的序列使得所有 seqs里的序列都是它的子序列). 判断是否有且仅有一个能从 seqs重构
阅读全文
摘要:给定 n, m, 分别代表一个二维矩阵的行数和列数, 并给定一个大小为 k 的二元数组A. 初始二维矩阵全0. 二元数组A内的k个元素代表k次操作, 设第i个元素为 (A[i].x, A[i].y), 表示把二维矩阵中下标为A[i].x行A[i].y列的元素由海洋变为岛屿. 问在每次操作之后,
阅读全文
摘要:给一个目标数 target, 一个非负整数 k, 一个按照升序排列的数组 A。在A中找与target最接近的k个整数。返回这k个数并按照与target的接近程度从小到大排序,如果接近程度相当,那么小的数排在前面。 k是一个非负整数,并且总是小于已排序数组的长度。
阅读全文
摘要:给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。 不能使用代码库中的排序函数来解决这个问题 k <= n 在线评测地址:LintCode 领扣 样例1 输入: [3,2,2,1,4] 4 输出:
阅读全文
摘要:动态规划是IT技术面试中最难的算法,很多人披荆斩棘,最终还是跪在动态规划题目上。 今天给大家总结动态规划十问十答,快速帮你扫盲动态规划。 问1动态规划是个什么鸟蛋? 答:动态规划是一种通过“大而化小”的思路解决问题的算法。区别于一些固定形式的算法,如二分法,宽度优先搜索法,动态规划没有实际的步骤来规
阅读全文
摘要:假设一个排好序的数组在其某一未知点发生了旋转(比如0 1 2 4 5 6 7 可能变成4 5 6 7 0 1 2)。你需要找到其中最小的元素。 在线评测地址:LintCode 领扣 样例 1: 输入:[4, 5, 6, 7, 0, 1, 2] 输出:0 解释: 数组中的最小值为0 样例 2
阅读全文
摘要:给定字符串S,找到最多有k个不同字符的最长子串T。 在线评测地址: LintCode 领扣 样例 1: 输入: S = "eceba" 并且 k = 3 输出: 4 解释: T = "eceb" 样例 2: 输入: S = "WORLD" 并且 k = 4 输出: 4 解释: T = "WORL"
阅读全文
摘要:给一棵非空二叉搜索树以及一个target值,找到在BST中最接近给定值的节点值 给出的目标值为浮点数 我们可以保证只有唯一一个最接近给定值的节点 在线评测地址:LintCode 领扣 样例1 输入: root = {5,4,9,2,#,8,10} and target = 6.124780 输出:
阅读全文
摘要:给定一个候选数字的集合 candidates 和一个目标值 target. 找到 candidates 中所有的和为 target 的组合. 在同一个组合中, candidates 中的某个数字不限次数地出现. 所有数值 (包括 target ) 都是正整数. 返回的每一个组合内的数字必须是非降序的
阅读全文
摘要:两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。 在线评测地址: LintCode 领扣www.lintcode.com 说明 中位数的定义: 这里的中位数等同于数学定义里的中位数。 中位数是排序后数组的中间值。 如果有数组中有n个数且
阅读全文
浙公网安备 33010602011771号