揭秘“红桃kht75”的神秘身份:一场关于传承与创新的探索之旅

核心内容摘要

火影黄:当热血与潮流碰撞,一场关于青春与信仰的橙色狂欢
解锁高级感:黄三色穿搭的艺术与秘密

《母亲的种子》:当禁忌之爱在荧屏绽放,我们该如何凝视?

题目链接pow(x,n)

题目解析题目很简单要求x的n次幂。

要注意n的取值范围n可能是负数这时候我们要利用数学中x⁻ⁿ 1 / xⁿ来转换n可能是 -2³¹若转换成正数则会超过 int 类型的最大取值 2³¹-1。

算法原理

1 解法一循环思路很简单循环n次即可。

for (int i 0; i n; i ) x * x;时间复杂度ON但是当n取值很大时比如 n 1000程序的效率就会降低甚至超时。

2 解法二快速幂快速幂可以采用两种方法来实现递归实现✅循环实现我们这里采用递归实现。

先看示例1要求 2¹⁰我们可以通过 2⁵ * 2⁵ 来得到要求 2⁵我们可以通过 2² * 2² * 2 来得到要求 2²我们可以通过 2 * 2 来得到要求 2我们可以通过 2⁰ (

* 2 来得到即

代码实现设计函数头——寻找子问题根据算法原理我们可以知道该问题的子问题是计算所给的x的n次幂因此函数头有两个参数x、n返回值为与所给的x相同的类型double pow(double x, int n)设计函数体——子问题所做的事每一个子问题都是先得到x的n / 2次幂然后根据当前n的奇偶性决定是 xⁿ * xⁿ还是 xⁿ * xⁿ * x即temp pow(x, n /

return (n % 2

? temp * temp temp * temp * temp递归出口当 n 0 时返回1因为所有数的0次幂都是1代码实现如下class Solution { public double myPow(double x, int n) { // 分n为正负两个情况 return (n

?

0 / pow(x, -n) : pow(x, n); } public double pow(double x, int n) { // 递归出口 if (n

return

0; double temp pow(x, n /

; // 分奇偶情况 return (n % 2

? temp * temp : temp * temp * x; } }

姐姐趁父母不在家非要跟我玩游戏-姐姐趁父母不在家非要跟我玩游戏应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123