随笔分类 -  剑指offer笔记

摘要:剑指 Offer 53 - I. 在排序数组中查找数字 I 地址:剑指 Offer 53 - I. 在排序数组中查找数字 I 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [ 阅读全文
posted @ 2021-01-22 01:57 ganshuoos 阅读(56) 评论(0) 推荐(0)
摘要:剑指 Offer 52. 两个链表的第一个公共节点 地址:剑指 Offer 52. 两个链表的第一个公共节点 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], lis 阅读全文
posted @ 2021-01-22 01:05 ganshuoos 阅读(50) 评论(0) 推荐(0)
摘要:剑指 Offer 49. 丑数 地址:剑指 Offer 49. 丑数 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是 阅读全文
posted @ 2021-01-22 00:52 ganshuoos 阅读(46) 评论(0) 推荐(0)
摘要:剑指 Offer 48. 最长不含重复字符的子字符串 地址:剑指 Offer 48. 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以 阅读全文
posted @ 2021-01-22 00:17 ganshuoos 阅读(47) 评论(0) 推荐(0)
摘要:剑指 Offer 47. 礼物的最大价值 地址: 剑指 Offer 47. 礼物的最大价值 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值 阅读全文
posted @ 2021-01-21 20:56 ganshuoos 阅读(30) 评论(0) 推荐(0)
摘要:剑指 Offer 46. 把数字翻译成字符串 地址: 剑指 Offer 46. 把数字翻译成字符串 定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个 阅读全文
posted @ 2021-01-21 20:04 ganshuoos 阅读(57) 评论(0) 推荐(0)
摘要:剑指 Offer 45. 把数组排成最小的数 地址: 剑指 Offer 45. 把数组排成最小的数 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输 阅读全文
posted @ 2021-01-19 13:26 ganshuoos 阅读(59) 评论(0) 推荐(0)
摘要:剑指 Offer 44. 数字序列中某一位的数字 地址:剑指 Offer 44. 数字序列中某一位的数字 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数,求任意第n位对应 阅读全文
posted @ 2021-01-18 00:36 ganshuoos 阅读(51) 评论(0) 推荐(0)
摘要:剑指 Offer 43. 1~n 整数中 1 出现的次数 地址:剑指 Offer 43. 1~n 整数中 1 出现的次数 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入: 阅读全文
posted @ 2021-01-17 01:18 ganshuoos 阅读(74) 评论(0) 推荐(0)
摘要:剑指 Offer 42. 连续子数组的最大和 地址:剑指 Offer 42. 连续子数组的最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 阅读全文
posted @ 2021-01-16 16:08 ganshuoos 阅读(33) 评论(0) 推荐(0)
摘要:剑指 Offer 41. 数据流中的中位数 地址:剑指 Offer 41. 数据流中的中位数 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3, 阅读全文
posted @ 2021-01-16 15:48 ganshuoos 阅读(61) 评论(0) 推荐(0)
摘要:剑指 Offer 40. 最小的k个数 地址:剑指 Offer 40. 最小的k个数 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 阅读全文
posted @ 2021-01-16 13:42 ganshuoos 阅读(83) 评论(0) 推荐(0)
摘要:剑指 Offer 39. 数组中出现次数超过一半的数字 地址:剑指 Offer 39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5 阅读全文
posted @ 2021-01-16 13:11 ganshuoos 阅读(75) 评论(0) 推荐(0)
摘要:剑指 Offer 38. 字符串的排列 地址:剑指 Offer 38. 字符串的排列 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab"," 阅读全文
posted @ 2021-01-15 22:30 ganshuoos 阅读(77) 评论(0) 推荐(0)
摘要:剑指 Offer 37. 序列化二叉树 地址:剑指 Offer 37. 序列化二叉树 请实现两个函数,分别用来序列化和反序列化二叉树。 示例: 你可以将以下二叉树: 1 / 2 3 / 4 5 序列化为 "[1,2,3,null,null,4,5]" 注意:本题与主站 297 题相同:https:/ 阅读全文
posted @ 2021-01-15 21:48 ganshuoos 阅读(43) 评论(0) 推荐(0)
摘要:剑指 Offer 50. 第一个只出现一次的字符 地址:剑指 Offer 50. 第一个只出现一次的字符 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例: s = "abaccdeff" 返回 "b" s = "" 返回 " " 限制: 0 ⇐ s 阅读全文
posted @ 2021-01-13 22:46 ganshuoos 阅读(57) 评论(0) 推荐(0)
摘要:剑指 Offer 36. 二叉搜索树与双向链表 地址:剑指 Offer 36. 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化 阅读全文
posted @ 2021-01-13 22:44 ganshuoos 阅读(31) 评论(0) 推荐(0)
摘要:剑指 Offer 35. 复杂链表的复制 地址:剑指 Offer 35. 复杂链表的复制 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入: 阅读全文
posted @ 2021-01-12 23:09 ganshuoos 阅读(61) 评论(0) 推荐(0)
摘要:剑指 Offer 34. 二叉树中和为某一值的路径 地址:剑指 Offer 34. 二叉树中和为某一值的路径 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 阅读全文
posted @ 2021-01-09 00:05 ganshuoos 阅读(57) 评论(0) 推荐(0)
摘要:剑指 Offer 33. 二叉搜索树的后序遍历序列 地址:剑指 Offer 33. 二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / 2 6 阅读全文
posted @ 2021-01-07 19:39 ganshuoos 阅读(61) 评论(0) 推荐(0)