给定一个按非递减顺序排序的整数数组 A
,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
示例 1:
输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]
示例 2:
输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]
提示:
-
1 <= A.length <= 10000
-
-10000 <= A[i] <= 10000
-
A
已按非递减顺序排序。
class Solution:
def sortedSquares(self, A: List[int]) -> List[int]:
return sorted(i*i for i in A)
斐波那契数,通常用 F(n)
表示,形成的序列称为斐波那契数列。该数列由 0
和 1
开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
给定 N
,计算 F(N)
。
示例 1:
输入:2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1.
示例 2:
输入:3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2.
示例 3:
输入:4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3.
提示:
-
0 ≤
N
≤ 30
class Solution:
def fib(self, N: int) -> int:
a,b = 0,1
for i in range(N):
a,b = b,a+b
return a
给定一个非负整数数组 A
, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i]
为奇数时,i
也是奇数;当 A[i]
为偶数时, i
也是偶数。
你可以返回任何满足上述条件的数组作为答案。
示例:
输入:[4,2,5,7]
输出:[4,5,2,7]
解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。
提示:
-
2 <= A.length <= 20000
-
A.length % 2 == 0
-
0 <= A[i] <= 1000
class Solution:
def sortArrayByParityII(self, A: List[int]) -> List[int]:
i = 0
j = 1
length = len(A)
while i < length and j < length:
while i < length and A[i]%2 == 0:
i += 2
while j < length and A[j]%2 == 1:
j += 2
if i >= length or j >= length:
break
A[j],A[i] = A [i],A[j]
j += 2
i += 2
return A