![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
解题思想-分治法
解题思想-分治法
overlordmax
这个作者很懒,什么都没留下…
展开
-
190. 颠倒二进制位
1.题目描述颠倒给定的 32 位无符号整数的二进制位。示例 1:示例 2:2.思路分治策略,通过掩码将 32 位整数划分成具有较少位的块,然后将每个块反转,最后将每个块的结果合并得到最终结果。3.代码class Solution {public: uint32_t reverseBits(uint32_t n) { n = (n >> 16) | (n << 16); n = ((n & 0xff00ff00) &原创 2020-09-26 22:33:47 · 114 阅读 · 0 评论 -
连续子数组的最大和
连续子数组的最大和1.题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组...原创 2020-01-31 22:41:07 · 88 阅读 · 0 评论 -
50. Pow(x, n)
1.题目描述实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:示例 2:示例 3:说明:1.-100.0 < x < 100.02.n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。2.快速幂+递归「快速幂算法」的本质是分治算法。举个例子,如果我们要计算 x64x^{64}x64,我们可以按照:x→x2→x4→x8→x16→x32→x64x \to x^2 \to x^4 \to x^8 \to x^{16} \to x^{3原创 2020-08-30 20:37:43 · 334 阅读 · 0 评论 -
95. 不同的二叉搜索树 II
95. 不同的二叉搜索树 II1.题目描述给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例:2.思路(分治法)从序列 1 …n 中取出数字 i,作为当前树的树根。于是,剩余 i - 1 个元素可用于左子树,n - i 个元素用于右子树。现在,我们对序列 1 … i - 1 重复上述过程,以构建所有的左子树;然后对 i + 1 … n 重复,以构建所有的右子树...原创 2020-02-20 23:09:01 · 80 阅读 · 0 评论 -
241. 为运算表达式设计优先级
241. 为运算表达式设计优先级1.题目描述给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。示例 1:示例 2:2.思路(分治法)进行分治算法三步走:1.分解:按运算符分成左右两部分,分别求解2.解决:实现一个递归函数,输入算式,返回算式解3.合并:根据运算符合并左...原创 2020-02-20 22:46:43 · 785 阅读 · 0 评论