上一页 1 2 3 4 5 6 ··· 15 下一页
摘要: 剑指 Offer 46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 思路 动态规划或深度优 阅读全文
posted @ 2022-04-28 15:49 沐灵_hh 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 45. 把数组排成最小的数 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 思路 贪心算法 代码 class Solution { public: static bool cmp(const string& a, const stri 阅读全文
posted @ 2022-04-28 15:43 沐灵_hh 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 44. 数字序列中某一位的数字 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数,求任意第n位对应的数字。 思路 首先确定这个位所在数字的位数,然后在确定 阅读全文
posted @ 2022-04-28 15:39 沐灵_hh 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 43. 1~n 整数中 1 出现的次数 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 思路 对于每一位考虑1出现的个数,比如对于百位,从0 开始每1000个数字百位上的 阅读全文
posted @ 2022-04-28 15:23 沐灵_hh 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 42. 连续子数组的最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 代码 class Solution { public: int maxSubArray(vector<int>& nums) { int 阅读全文
posted @ 2022-04-26 22:09 沐灵_hh 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 41. 数据流中的中位数 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 阅读全文
posted @ 2022-04-26 21:47 沐灵_hh 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 1 C++ 编程基础 1.1 如何撰写 C++ 程序 1.2 对象的定义与初始化 对象初始化有两种方法 int num_tries = 0; // 使用 assignment 运算符(=)进行初始化 int num_right(0); // 构造函数初始化 对比: 使用 assignment 初始化 阅读全文
posted @ 2022-04-21 20:07 沐灵_hh 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 39. 数组中出现次数超过一半的数字 题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 思路 方法一:哈希表 通过一个 hashmap 记录每个数的个数,如果大于一半就输出。 方法二:排序 排序,然后最中 阅读全文
posted @ 2022-04-14 16:32 沐灵_hh 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 38. 字符串的排列 题目 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 思路 因为有重复字符,所以不能通过记录哪个使用了哪个没使用来 dfs。而是统计所有不重复的字符,并记录每个字符的个数,然后进行 dfs。 方法二 阅读全文
posted @ 2022-04-14 16:31 沐灵_hh 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 36. 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 思路 排序列表:二叉搜索树的中序遍历是有序的 双向链表:设置前驱节点 pre 和当前节点 cur,pre.right = cur, 阅读全文
posted @ 2022-04-14 16:30 沐灵_hh 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 37. 序列化二叉树 题目 请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 思路 序列化:将二叉 阅读全文
posted @ 2022-04-14 16:30 沐灵_hh 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 35. 复杂链表的复制 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 思路 在复制的时候用哈希表保存原链表的节点到新链表节点的对应关系, 阅读全文
posted @ 2022-04-14 16:29 沐灵_hh 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 33. 二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 思路 后序遍历是 左子树 + 右子树 + 根,左子树全小于根,右子树全大于根,dfs判断即可 待填 阅读全文
posted @ 2022-04-14 16:28 沐灵_hh 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 34. 二叉树中和为某一值的路径 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 思路 dfs 代码 class Solution { private List<List<Integer>> ans 阅读全文
posted @ 2022-04-14 16:28 沐灵_hh 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 32 - II. 从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20] 阅读全文
posted @ 2022-04-14 16:27 沐灵_hh 阅读(7) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 15 下一页