剑指Offer——数值的整数次方
2017-07-01 10:00
405 查看
Question
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。Solution
这道题的话,我调用的是库函数,其实可以用分治的方法,大概的思想就是32次方,可以先求出16次方,在平方就好了,16次方,求出8次方就好了,不用真正的乘16次。 所以时间复杂度为O(lgn)。Code
#include <cmath> class Solution { public: double Power(double base, int exponent) { return pow(base, exponent); } };
// 分治解法 double PowerWithUnsignedExponent(double base, unsigned int exponent) { if (exponent == 1) return base; if (exponent == 0) return 1; double result = PowerWithUnsignedExponent(base, exponent >> 1); result *= result; // 奇次方 if (exponent & 0x1 == 1) result *= base; return result; }
相关文章推荐
- 剑指offer---16(数值的整数次方)
- (C++)剑指offer-12:数值的整数次方(代码的完整性)
- 【剑指offer】数值的整数次方
- 【剑指offer-Java版】11数值的整数次方
- 剑指Offer-数值的整数次方
- 【剑指Offer面试编程题】题目1514:数值的整数次方---九度OJ
- 剑指offer面试题[11]-数值的正整数次方
- 剑指offer题解 数值的整数次方
- 剑指offer--面试题16:数值的整数次方
- 剑指offer 数值的整数次方
- 剑指Offer--011-数值的整数次方
- [剑指offer]数值的整数次方
- 剑指offer---数值的整数次方
- 剑指offer之数值的整数次方
- 剑指Offer学习总结-数值的整数次方
- 剑指Offer 11 数值的整数次方
- 【剑指offer】数值的整数次方-Java
- 剑指offer 11 数值的整数次方
- 剑指offer面试题11之求数值的整数次方
- 剑指offer--(14)数值的整数次方