自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(385)
  • 收藏
  • 关注

原创 面试-比较版本号

如果版本号没有指定某个下标处的修订号,则该修订号视为 0。例如,版本 1.0 小于版本 1.1 ,因为它们下标为 0 的修订号相同,而下标为 1 的修订号分别为 0 和 1 ,0 < 1。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。如果 version1 > version2 返回 1, 如果 version1 < version2 返回 -1, 除此之外返回 0。

2023-04-17 19:45:57 226

原创 面试-二叉树的完全性检验

在一个 完全二叉树 中,除了最后一个关卡外,所有关卡都是完全被填满的,并且最后一个关卡中的所有节点都是尽可能靠左的。它可以包含 1 到 2^h节点之间的最后一级 h。核心:对于一个完全二叉树,层序遍历的过程中遇到第一个空节点之后不应该再出现非空节点(即第一个空节点就应该结束了)给定一个二叉树的 root ,确定它是否是一个 完全二叉树。

2023-04-17 17:46:58 207

原创 面试-岛屿的最大面积

岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。:在深度遍历时,每遇到一个相连的岛屿,就将其沉底,使其不再是岛屿,这样就避免遍历时重复计数,即避免重复遍历,每遇到一个相邻的岛屿(1),就将其标记为0。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0。给你一个大小为 m x n 的二进制矩阵 grid。岛屿的面积是岛上值为 1 的单元格的数目。

2023-04-17 17:31:56 146

原创 面试-最大数

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。java自定义排序:将字符串a和b拼接起来,哪个大返回哪个。

2023-04-17 14:33:33 75

原创 面试-寻找峰值

给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。就是峰值,大于mid+1的情况,继续向右推,如果一直到数组的末尾都是大于的,那么可以肯定最后一个元素是峰值,因为。简单来说就是,上坡必有坡顶,后面元素要么下坡,要么上坡(最后一个元素就是坡顶)你可以假设 nums[-1] = nums[n] = -∞。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。峰值元素是指其值严格大于左右相邻值的元素。只有两种可能,一个是。

2023-04-17 10:21:49 80

原创 用 Rand7() 实现 Rand10()

每个测试用例将有一个内部参数 n,即你实现的函数 rand10() 在测试时将被调用的次数。请注意,这不是传递给 rand10() 的参数。给定方法 rand7 可生成 [1,7] 范围内的均匀随机整数,试写一个方法 rand10 生成 [1,10] 范围内的均匀随机整数。你只能调用 rand7() 且不能调用其他方法。请不要使用系统的 Math.random() 方法。范围内的数据会被接受返回,其余情况均被拒绝重试。),形如 x2 的数值有 4 个(成倍数关系的数,来进行转换。仍为等概率,其次形如。

2023-04-14 18:14:52 177

原创 面试-Sqrt(x)

即:问题的答案,平方以后一定不会严格大于输入的整数,如8的平方根实际上是 2.82842,题目要求将小数部分舍去,因此输出 2,如果返回3,则3^2 = 9 > 8就不对了。它自己的一半,但是 0 和 1 除外,因此可以在 1 到输入整数除以 2 这个范围里查找要找的平方根整数,0单独判断一下即可。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。因为题目中说了,结果只保留整数的部分,小数部分将被舍去。输入整数,那么就找到了这个整数。输入整数,那么这个整数。输入整数,那么这个整数。

2023-04-14 16:01:49 374

原创 面试-字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。竖式运算思想,模拟乘法运算,底层调用字符串加法运算。

2023-04-14 15:11:42 75

原创 面试-验证IP地址

例如 “2001:0db8:85a3:0000:0000:8a2e:0370:7334"和 “2001:db8:85a3:0:0:8A2E:0370:7334” 是有效的 IPv6 地址,而 “2001:0db8:85a3::8A2E:037j:7334” 和"02001:0db8:85a3:0000:0000:8a2e:0370:7334” 是无效的 IPv6 地址。例如:“192.168.1.1” 、 “192.168.1.0” 为有效IPv4地址, “192.168.01.1” 为无效IPv4地址;

2023-04-14 14:49:08 96

原创 面试-最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。

2023-04-14 10:56:37 62

原创 面试-字符串转换整数 (atoi)

将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。如果没有读入数字,则整数为 0。请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi函数)。读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。,需要截断这个整数,使其保持在这个范围内。

2023-04-14 10:16:37 69

原创 面试-字符串相加

你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。给一个加法通用思路,字符串加法、链表加法以及二进制加法之类的都可以这么写。

2023-04-14 09:55:34 75

原创 面试-缺失的第一个正数

先按照哈希表的映射关系整理一遍数组,然后再遍历一次数组,第 1 个遇到的它的值不对应下标的那个数,就是我们要找的缺失的第一个正数。直到数组的长度N是否在数组中,如果不在,则找到了缺失的最小正整数。方法一:空间复杂度为O(n),思路正确,但是不满足题意,但是LeetCode能过(诶嘿~)给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。是因为当前面都没找到的时候,返回最后一个数的下一个数字。之间,所以可以就把原始的数组当做哈希表来使用。哈希表的思想为,将数值为。因为要找的数一定是在。

2023-04-13 16:52:04 74

原创 面试-基本计算器 II

代码实现中,若读到一个运算符,或者遍历到字符串末尾,即认为是遍历到了数字末尾。运算,并将这些乘除运算后的整数值放回原表达式的相应位置,则随后整个表达式的值,就等于一系列整数。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval()。给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。乘除号:计算数字与栈顶元素,并将栈顶元素替换为计算结果。的运算符,对于第一个数字,其之前的运算符视为。后,将栈中元素累加,即为该字符串表达式的值。运算后的)整数的值。元素为计算后的结果。

2023-04-13 15:24:09 386

原创 面试-二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。在层序遍历基础上,保留每层最后一个元素即可。

2023-04-12 15:52:58 58

原创 面试-二叉树的锯齿形层序遍历

给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。相当于在层序遍历的基础之上,加了一个判断位,分别依次头插和尾插节点。

2023-04-12 15:28:19 77

原创 面试-K个一组翻转链表

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

2023-04-11 21:54:54 79

原创 面试-删除排序链表中的重复元素

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次。返回 已排序的链表。

2023-04-11 21:08:50 74

原创 面试-删除链表中的重复元素II

给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字。返回 已排序的链表。

2023-04-11 19:37:59 76

原创 面试反转链表II

给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right。请你反转从位置 left 到位置right 的链表节点,返回 反转后的链表。之间用头插法(实现反转),之后用尾插法(顺序不变)

2023-04-11 16:11:00 60

原创 面试环形链表

【代码】面试环形链表。

2023-04-11 10:52:15 55

原创 面试手撕堆排序

如此反复执行,便能得到有序数组。首先将待排序的数组构造成一个。,剩余待排序数组个数为。

2023-04-10 16:07:34 311

原创 面试手撕归并排序

【代码】面试手撕归并排序。

2023-04-10 11:13:03 55

原创 面试手撕快速排序

【代码】面试手撕快速排序。

2023-04-10 10:54:37 68

原创 面试题之螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

2023-04-09 15:30:14 46

原创 合并两个有序数组

从后往前遍历的时候,将。

2023-04-09 14:36:47 361

原创 Interview LeetCode 100题

1. 遍历2. 二叉搜索树3. 求深度4. 求直径5. 对称6. 翻转7. 最近公共祖先8. 路径9. 重建二叉树

2023-04-09 13:44:21 495

原创 笔试—ACM模式构建二叉树输入输出

很多笔试都是白板(ACM模式),对于树的题目就需要自己构建二叉树。比如 题目给你一个数组,如何构建成二叉树的输入输出。

2023-03-26 20:46:00 543

原创 面试题67. 把字符串转换成整数

刷题总结

2023-02-18 15:15:00 532

原创 面试题61. 扑克牌中的顺子

刷题总结

2023-02-17 21:59:59 1404

原创 面试题59 - II. 队列的最大值

刷题总结

2023-02-17 20:53:36 557

原创 面试题45. 把数组排成最小的数

刷题总结

2023-02-17 20:04:08 134

原创 面试题13. 机器人的运动范围

刷题总结

2023-02-17 17:17:31 121

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先

刷题总结

2023-02-17 16:18:54 137

原创 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

刷题总结

2023-02-17 15:02:36 145

原创 剑指 Offer 66. 构建乘积数组

刷题总结

2023-02-17 15:01:28 162

原创 剑指 Offer 65. 不用加减乘除做加法

刷题总结

2023-02-17 14:27:05 142

原创 剑指 Offer 64. 求1+2+…+n

刷题总结

2023-02-17 11:22:53 130

原创 剑指 Offer 63. 股票的最大利润

刷题总结

2023-02-17 10:38:00 131

原创 剑指 Offer 62. 圆圈中最后剩下的数字

刷题总结

2023-02-16 21:58:26 127

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除