LeetCode刷题—数组day1

问题一: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])

猜你喜欢

转载自blog.csdn.net/weixin_44595042/article/details/88382984