这道题目我是不会做的。看了题解之后,发现它是倍增的思想,类似于快速幂。
不过这道题目也给了我两点启发:
- 可以用位运算来代替乘除法
- 不可对负数进行左移运算
这道题目是快速幂,具体实现有两种方法:
- 递归
- 位运算 + 迭代(我常用的是这个)
注:这道题目给的幂次 n n n很大,从 I N T _ M I N ∼ I N T _ M A X INT\_MIN\sim INT\_MAX INT_MIN∼INT_MAX,因此我们需要考虑 n n n为负数以及 n n n为 I N T _ M I N INT\_MIN INT_MIN的处理情况