From cf82cf37fb87bbbb1a512454d8a5ae21b3502f9b Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 13 Mar 2018 21:49:36 +0800 Subject: [PATCH] auto commit --- notes/剑指 offer 题解.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md index 726a164e..b4b6262f 100644 --- a/notes/剑指 offer 题解.md +++ b/notes/剑指 offer 题解.md @@ -605,6 +605,19 @@ public int NumberOf1(int n) { ## 16. 数值的整数次方 +**题目描述** + +给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent。求 base 的 exponent 次方。 + +**解题思路** + +下面的讨论中 x 代表 base,N 代表 exponent。 + +- 当 x 为偶数时,xN = (x \* x)N / 2; +- 当 x 为奇数时,xN = x \* (x \* x)N / 2; + +因为 (x \* x)e / 2 可以通过递归求解,并且每递归一次,N 都减小一半,因此整个算法的时间复杂度为 logN。 + ```java public double Power(double base, int exponent) { if (exponent == 0) return 1;