律师来之前我是不会说一句话的
律师来之前我是不会说一句话的
全部文章
剑指Offer
力扣(70)
未归档(1)
归档
标签
去牛客网
登录
/
注册
史航的个人博客
只管努力,余下的交给时间吧。
全部文章
/ 剑指Offer
(共22篇)
剑指 Offer 49. 丑数 & 60. n个骰子的点数
49题目描述: 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 解析: 这个题用三指针,第一个丑数是1,以后的丑数都是基于前面的小丑数分别乘2,3,5构成的。我们每次添加进去一个当前计算出来个三个丑数的最小的一个,并且是谁计算的,谁指...
2022-01-16
0
305
剑指 Offer 29. 顺时针打印矩阵 & 31. 栈的压入、弹出序列
29题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 解析: 1.如果数组为空,则返回空数组 2.定义四个边界及当前方向 3.当左边界小于等于右边界,且上边界小于等于下边界时,执行while循环: 按照右、下、左、上的顺序,依次将路径上的字符添加到结果里 4.while循环...
2022-01-12
0
284
剑指 Offer 57. 和为s的两个数字 & II. 和为s的连续正数序列
I题目描述: 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 解析: 二分法 Java: class Solution { public int[] twoSum(int[] nums, int target) {...
2022-01-11
0
205
剑指 Offer 56 - I. 数组中数字出现的次数 & II. 数组中数字出现的次数
I题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 解析: 位运算和Hashmap Java: class Solution { public int[] singleNumber...
2022-01-09
0
249
剑指 Offer 15. 二进制中1的个数 & 65. 不用加减乘除做加法
15题目描述: 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。 解析: 1.初始化数量统计变量count; 2.循环消去最右边的1:当n=0时跳出; n &= n - 1:消去数字最右边的1; count++...
2022-01-08
0
285
剑指 Offer 33. 二叉搜索树的后序遍历序列 & 54. 二叉搜索树的第k大节点
33题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 解析: 递归 二叉搜索树的特点是左子树的值<根节点<右子树的值; 而后续遍历的顺序是:左子节点→右子节点→根节点; Jav...
2021-11-26
0
295
剑指 Offer 07. 重建二叉树 & 16. 数值的整数次方
7题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 解析: 知识点: 前序遍历列表: 第一个元素永远是 【根节点 (root)】 中序遍历列表: 根节点 (root)【左边】的所有元素都在根节点的【左分支】,【...
2021-11-25
0
360
剑指 Offer 55 - I. 二叉树的深度 & 55 - II. 平衡二叉树
I题目描述: 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 解析: 1.终止条件:当 root为空,说明已越过叶节点,因此返回深度0 2.递推工作:本质上是对树做后序遍历。 计算节点 root的左子树的深度,即调用 ...
2021-11-23
0
239
剑指 Offer 40. 最小的k个数 & 41. 数据流中的中位数
40题目描述: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 解析: 1.库函数,首先把数组arr排序,定义一个新的数组res,数组的长度为k 2.遍历循环数组arr,把前k个数赋值到数组res 3.最后返回...
2021-11-22
0
279
剑指 Offer 45. 把数组排成最小的数 & 61. 扑克牌中的顺子
45题目描述: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 解析: 大体的思路类似贪心 让高位取最小值,那么这个最小值的求法就有讲究了,要按位挨个判断数字的大小,数字的话实现起来蛮麻烦的,但是转成字符串的话比较大小就方便了,字符串就是按位比较大小的...
2021-11-18
0
269
首页
上一页
1
2
3
下一页
末页