classSolution:# s 源字符串defreplaceSpace(self, s):# write code here
result=[]
for char in s:
if char==" ":
result.extend("%20")
else:
result.extend(char)
return''.join(result)
classSolution:defminNumberInRotateArray(self, rotateArray):# write code hereifnot rotateArray:
return0for i in range(len(rotateArray)-1):
if rotateArray[i+1]<rotateArray[i]:
return rotateArray[i+1]
return rotateArray[0]
二分法,时间复杂度O(log2n)
l
o
g
2
n
)
class Solution:
def minNumberInRotateArray(self, array):
# write code here
iflen(array) == 0:
return 0;
left = 0;
right = len(array) - 1;
middle = -1;
whilearray[left]>=array[right]:
ifright-left==1:
middle = right;
break;
middle = left + (right - left) / 2ifarray[middle] >= array[left]:
left = middle;
ifarray[middle] <= array[right]:
right = middle;
return array[middle];
斐波那契数列
python解法:动态规划
classSolution:defFibonacci(self, n):# write code hereif n==0:
return0
dp=[0]*(n+1)
dp[0]=0
dp[1]=1for i in range(2,n+1):
dp[i]=dp[i-1]+dp[i-2]
return dp[n]
跳台阶
python解法:与斐波那契数列一模一样
classSolution:defjumpFloor(self, number):# write code hereif number==0:
return0
dp=[0]*(number+1)
dp[0]=1
dp[1]=1for i in range(2,number+1):
dp[i]=dp[i-1]+dp[i-2]
return dp[number]
变态跳台阶
python解法:用与上面类似的方法做会超时,换种思路,每个台阶都有可能跳上去,也有可能不跳上去,所以是2n−1
2
n
−
1
种可能
classSolution:defjumpFloorII(self, number):# write code hereif number==0:
return0if number==1:
return1if number==2:
return2
dp=[0]*(number+1)
dp[0]=1
dp[1]=1for i in range(2,number+1):
dp[i]=2*dp[i-1]
return dp[number]
矩形覆盖
这个问题跟上面的问题是一样的,只是不容易想到。
如上图所示,最终剩一个2x1的或者一个2x2的方块,所以递推方程与上面一样
二进制中1的个数
按位与,左移
classSolution:defNumberOf1(self, n):# write code here
count = 0for i in range(32):
count += (n >> i)&1return count
调整数组使得奇数位于偶数之前
碰到奇数就向前移动,下面的方法属于插入法
classSolution:defreOrderArray(self, array):# write code herefor i in range(1,len(array)):
k=i
while k:
if array[k]%2and array[k-1]%2==0:
array[k],array[k-1]=array[k-1],array[k]
k-=1else:
breakreturn array
替换空格python解法:使用join函数可以将列表转换为字符串class Solution: # s 源字符串 def replaceSpace(self, s): # write code here result=[] for char in s: if char==&quot; &quot;: ...