feat(1019-squares-of-a-sorted-array): add py3 solution
This commit is contained in:
23
1019_squares-of-a-sorted-array/README.md
Normal file
23
1019_squares-of-a-sorted-array/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
Given an integer array `nums` sorted in **non-decreasing** order, return _an array of **the squares of each number** sorted in non-decreasing order_.
|
||||
|
||||
**Example 1:**
|
||||
|
||||
Input: nums = [-4,-1,0,3,10]
|
||||
Output: [0,1,9,16,100]
|
||||
Explanation: After squaring, the array becomes [16,1,0,9,100].
|
||||
After sorting, it becomes [0,1,9,16,100].
|
||||
|
||||
|
||||
**Example 2:**
|
||||
|
||||
Input: nums = [-7,-3,2,3,11]
|
||||
Output: [4,9,9,49,121]
|
||||
|
||||
|
||||
**Constraints:**
|
||||
|
||||
* `1 <= nums.length <= 104`
|
||||
* `-104 <= nums[i] <= 104`
|
||||
* `nums` is sorted in **non-decreasing** order.
|
||||
|
||||
**Follow up:** Squaring each element and sorting the new array is very trivial, could you find an `O(n)` solution using a different approach?
|
||||
17
1019_squares-of-a-sorted-array/python3/solution.py
Normal file
17
1019_squares-of-a-sorted-array/python3/solution.py
Normal file
@@ -0,0 +1,17 @@
|
||||
class Solution:
|
||||
def sortedSquares(self, nums: List[int]) -> List[int]:
|
||||
left = 0
|
||||
right = i = len(nums) - 1
|
||||
result = [None] * len(nums)
|
||||
|
||||
while i >= 0:
|
||||
if abs(nums[left]) > abs(nums[right]):
|
||||
result[i] = nums[left] ** 2
|
||||
left += 1
|
||||
else:
|
||||
result[i] = nums[right] ** 2
|
||||
right -= 1
|
||||
|
||||
i -= 1
|
||||
|
||||
return result
|
||||
Reference in New Issue
Block a user