Array数组
问题一:Squares of a Sorted Array
Given an array of integers A sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.
Example 1:
Input: [-4,-1,0,3,10]
Output: [0,1,9,16,100]
Example 2:
Input: [-7,-3,2,3,11]
Output: [4,9,9,49,121]
Note:
1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A is sorted in non-decreasing order.
1. Python解法
参考程序:
class Solution(object):
def sortedSquares(self, A):
"""
:type A: List[int]
:rtype: List[int]
"""
return sorted(x*x for x in A)
2. JavaScript解法
参考程序:
/**
* @param {number[]} A
* @return {number[]}
*/
var sortedSquares = function(A) {
for(i=0;i<A.length;i++){
A[i]=Math.pow(A[i],2);
}
var result=A.sort(function(a,b){return a-b});
return result;
};
问题二:Sort Array By Parity
Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A.
You may return any answer array that satisfies this condition.
Example 1:
Input: [3,1,2,4]
Output: [2,4,3,1]
The outputs [4,2,3,1]
, [2,4,1,3]
, and [4,2,1,3]
would also be accepted.
Note:
1 <= A.length <= 5000
0 <= A[i] <= 5000
1. Python解法:
a. Sort 排序
参考程序:
class Solution(object):
def sortArrayByParity(self, A):
"""
:type A: List[int]
:rtype: List[int]
"""
A.sort(key = lambda x: x % 2)
return A
b. Two Pass
参考程序:
class Solution(object):
def sortArrayByParity(self, A):
"""
:type A: List[int]
:rtype: List[int]
"""
return ([x for x in A if x % 2 == 0]+
[x for x in A if x % 2 == 1])