1、我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
class Solution:
def rectCover(self, number):
if number == 1:
return 1
if number == 2:
return 2
a = 1
b = 2
ret = 0
for i in range(number-2):
ret = a + b
a , b = b, ret
return ret
2、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
class Solution:
def NumberOf1(self, n):
n = 0xFFFFFFFF & n
count = 0
for i in range(32):
mak = 1 << i
if n & mak != 0:
count += 1
return count
3、给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
# -*- coding:utf-8 -*-
class Solution:
def Power(self, base, exponent):
if base == 0:
return 0
if exponent == 0:
return 1
exp1 = abs(exponent)
ret = 1
for i in range(exp1):
ret *= base
return ret if exponent > 0 else 1/ret