面试题 08.05. 递归乘法 题目要求: 递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。 解题思路: 思路1:直接将乘法分成多个n相加,比较直接暴力; 判断其中较小的数,然后将较大数data相加,一共加n个。 思路2: 1. 巧用位 ...
分类:
其他好文 时间:
2020-03-18 11:57:36
阅读次数:
67
题目地址:https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 题目描述 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是 ...
分类:
编程语言 时间:
2020-03-18 09:18:46
阅读次数:
69
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 返回如下的二叉树: 限制: 0 <= 节点个数 <= 5000 解题思路 1. 根据前序序列的第一个元素建立根结点; 2. 在中序序列中找到该元素,确定根结点的左右子树的中序序 ...
分类:
其他好文 时间:
2020-03-17 19:34:31
阅读次数:
47
一:解题思路 解题方法:遍历一遍原始字符串,统计每个字母出现的次数,并统计有多少个奇数的字母。那么最后用不上的字母个数为奇数字母个数减1,最后减去它和0之间的最大值即可。Time:O(n),Space:O(k) 二:完整代码示例 (C++版和Java版) C++: class Solution { ...
分类:
其他好文 时间:
2020-03-16 21:58:27
阅读次数:
53
一:解题思路 方法一:递归法 Time:O(n),Space:O(log(n)) 方法二:迭代法 Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++递归: class Solution { public: TreeNode* sortedArrayToBST ...
分类:
编程语言 时间:
2020-03-16 17:41:52
阅读次数:
67
一、在文章开头给出Github项目地址:https://github.com/ppp-203/wc 二、解题思路 我的设计思路如下表 分块 实现 字符数 找到可显示字符 单词数 识别单词字符(2个及以上) 或者a和I 行数 识别换行符 导入文件内容(读取) BufferedReader实现 处理目录 ...
分类:
其他好文 时间:
2020-03-15 20:37:35
阅读次数:
61
1.项目GitHub地址:https://github.com/FPXBao/wordcount 2.解题思路:分析程序基本需求,将其功能分为三个函数调用:主函数 int main();功能函数Ccount();Wcount();Lcount();并进行相关知识学习。 3.代码说明: 主函数: #i ...
分类:
其他好文 时间:
2020-03-15 20:29:10
阅读次数:
68
题意: 给定两个数 u v ,求一个最短的数组 这个数组所有元素按位异或等于 u ,且和为 v 找不到输出 -1 否则输出数组的个数,再输出数组内的正整数 解题思路: 首先考虑到 -1的情况 根据二进制关系, 一个数 异或=和(自己=自己) 两个及以上数 异或<=和(二进制加法得知,等于的情况出现在 ...
分类:
其他好文 时间:
2020-03-15 10:09:30
阅读次数:
52
题意: 给定一棵 n 个节点 n-1 条边的树 你需要给这棵树的每条边打上编号 编号从 0 开始到 n-2 定义 MEX( u,v ) 表示从节点 u 走到节点 v 的途中所经过的边中没有出现过的编号的最小非负整数 为了使得最大的 MEX( u,v ) 值最小 问应该如何编号 解题思路: 两个节点一 ...
分类:
其他好文 时间:
2020-03-15 09:20:43
阅读次数:
45
题意描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路 一、暴力解决 分析 可能在二叉树的所有位置,逐个进行分析。 1. 若node的右子树不为空,中序遍历的下一节点是右子树的最左节点。 2. 若no ...
分类:
其他好文 时间:
2020-03-14 23:43:15
阅读次数:
49