1.常规做法:
时间复杂度 O(n)。
2.快速幂:
时间复杂度 O(logn)。
3.位运算
这里要用到左移运算符 <<
,这个东西的意思是把在它右边的数在二进制的情况下往左边移动它左边的数位,并自动用 00 补齐,由于是二进制,所以 a<<b
就相当于 a*2^ba∗2b。
时间复杂度 O(1)。
时间复杂度 O(n)。
2.快速幂:
时间复杂度 O(logn)。
3.位运算
这里要用到左移运算符 <<
,这个东西的意思是把在它右边的数在二进制的情况下往左边移动它左边的数位,并自动用 00 补齐,由于是二进制,所以 a<<b
就相当于 a*2^ba∗2b。
时间复杂度 O(1)。