![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法刷题
机智的驼驼
这个作者很懒,什么都没留下…
展开
-
【Python】剑指offer 14:剪绳子
题目:给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18. 解题思路:动态规划 #面试题14:剪绳子 class Solution: def dynamic...原创 2019-05-23 10:34:04 · 227 阅读 · 0 评论 -
【Python】剑指offer 15:二进制中1的个数
位运算 把数字用二进制表示之后,对每一位上0或者1的运算。 包含五种运算:与、或、异或、左移、右移。 左移: 运算符:m << n,表示把 m 左移 n 位。 在左移 n 位的时候,最左边的 n 位被丢弃,右边不上 n 个0。 比如: 00001010 << 2 = 00101000 10001010 << 3 = 01010000 右移: 运算符:m >...原创 2019-05-23 21:24:59 · 149 阅读 · 0 评论 -
【Python】剑指offer 16:数值的整数次方
完整的代码:功能测试、边界测试、负面测试。 题目: 数值的整数次方。 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大树问题。 思路: 采用递归解法, 当 n 为偶数,an = an/2 * an/2 , 当 n 为奇数,an = a(n-1)/2 * a(n-1)/2 利用右移一位代替除 2...原创 2019-05-24 11:00:54 · 163 阅读 · 0 评论