
《剑指offer》面试经典编程题集锦
文章平均质量分 58
本系列主要是笔者对剑指offer中的面试题进行总结,以java代码来进行解题
YOLO~~~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《剑指offer》12.矩阵中的路径
矩阵中的路径 LeetCode 剑指offer 12.矩阵中的路径 题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。 [[“a”,“b”,“c”,“e”], [“s”,“f”,“c”,“s”], [“a”,“d”,“e”,“e”]] 但矩阵中不包原创 2022-11-06 14:48:05 · 247 阅读 · 0 评论 -
《剑指offer》10.斐波那切数列
题目一斐波那切数列 LeetCode:剑指offer 10.斐波那切数列 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出 示例1: 输入:n=3 输出:2 示例2: 输入:n=5 输出:5 参考解题: public class Sol原创 2022-11-05 17:03:06 · 165 阅读 · 0 评论 -
《剑指offer》11.旋转数组的最小数字
旋转数组的最小数字 LeetCode:剑指offer 11.旋转数组的最小数字 题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 ...原创 2022-11-05 11:13:40 · 145 阅读 · 0 评论 -
《剑指offer》09.利用两个栈实现队列
利用两个栈实现队列 LeetCode:剑指offer 09.利用两个栈实现队列 题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例1: 输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输出:[null,null,3,-1] 示例2原创 2022-11-03 17:03:22 · 139 阅读 · 0 评论 -
《剑指offer》07.重建二叉树
重建二叉树 LeetCode:剑指offer 07.重建二叉树 输入某二叉树前序遍历和中序遍历的结果,请重建该二叉树,假设输入的前序遍历和中序遍历的结果都不含重复的数字 示例: 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下二叉树: 3 / \ 9 20 / \ 15 7 二叉树的节点定义如下: public class TreeNode { int val; Tre原创 2022-11-01 10:23:45 · 338 阅读 · 0 评论 -
《剑指offer》06.从尾到头打印链表
从尾到头打印链表 LeetCode:剑指offer 07.从尾到头打印链表 题目描述: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回) 示例: 输入:[1,2,3,4] 输出:[4,3,2,1] 题目考点 考查应聘者对单向链表的理解和编程能力。 考查应聘者对循环、递归和栈3个相互关联的概念的理解。 解题思路 使用头插法将链表反转 当链表反转过后,每个节点的值就可以从头到尾输出了。 PS: 在面试中,如果我们打算修改输入的数据,则最好先问面试官是否允许修改。 使用栈 每经过一个节点的原创 2022-10-28 10:46:24 · 143 阅读 · 0 评论 -
《剑指offer》05.替换空格
替换空格 LeetCode:剑指offer05.替换空格 题目描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例: 输入:str = "we are happy" 输出:"we%20are%20happy" 考点: 考察应聘者对字符串的编程能力。 考察应聘者分析时间效率的能力、我们要能清晰的分析出两种不同方法的时间效率各是多少。 考察应聘者对内存覆盖以及StringBuild长度随append的动态改变是否有高度的警惕。 考察应聘者的思维能力,在从前到后替换的思路被面试官否定后,原创 2022-05-17 15:03:48 · 242 阅读 · 0 评论 -
《剑指offer》04.二维数组中的查找
二维数组中的查找 LeetCode:《剑指offer》04.二维数组中的查找 问题描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 示例: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23,原创 2022-05-16 10:07:18 · 115 阅读 · 0 评论 -
《剑指offer》03.数组中重复的数字
03.找出数组中重复的数字1.找出数组中重复的数字。2.不修改数组找出重复的数字 1.找出数组中重复的数字。 问题描述: 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例: 输入: [2,3,1,0,2,5,3] 输出: 2或者3 限制: n<=2<=100000 测试用例: 长度为n的数组包含一个或多个重复的数字。 数组中不包含重复的数字。 无效原创 2022-04-29 11:32:10 · 656 阅读 · 0 评论