10数值的整数次方
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0
思路一:python内嵌函数法:熟悉下python 的方法也是挺好滴。
class Solution:
def Power(self, base, exponent):
return pow(base,exponent)
思路二:没有内嵌函数怎么办法?
次方的计算:
首先根,也就是左上角,
如果是0的哈,那么输出是 1.不管你啥
如果是大于0的话,那么就是不断的连乘就好了
如果是小于0的话,那么就是连乘的基础上被1除
代码比较关键的地方在于连乘的出现
class Solution:
def Power(self, base, exponent):
if exponent == 0:
return 1
final = 1
positive_exponent = abs(exponent)
for i in range (positive_exponent):
final *= base
if exponent > 0:
return final
else:
return 1/final
# write code here
11.调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路1:创建两个东西,走一遍全部的数。所以时间复杂度是O(n)
class Solution:
def reOrderArray(self, array):
double = []
single = []
for number in array:
if number % 2 == 0:
double.append(number)
else:
single.append(number)
single.extend(double)
return single
据说这是最佳的时间复杂度了,所以不做其他改进了吧,空间复杂度可以改一改嘻嘻。
链表中倒数第k个结点
输入一个链表,输出该链表中倒数