题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
环境:Python2.7.3
思路:又是一道斐波那契问题,自行理解即可
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
num = []
num.append(0)
num.append(1)
num.append(2)
for i in range(3,number+1):
num.append(num[i-1]+num[i-2])
return num[number]
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
# -*- coding:utf-8 -*-
class Solution:
def NumberOf1(self, n):
# write code here
return bin(n & 0xffffffff).count('1')
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
# -*- coding:utf-8 -*-
class Solution:
def Power(self, base, exponent):
# write code here
mul = 1
if exponent == 0:
return 1
elif exponent > 0:
for i in range(exponent):
mul = mul*base
return mul
else:
for i in range(-exponent):
mul = mul*base
return 1/mul