Menu
CoddyTech

Squares of a Sorted Array

Bạn được cung cấp một mảng số nguyên nums đã sắp xếp theo thứ tự không giảm. Mảng có thể chứa các giá trị âm. Bình phương từng giá trị rồi trả về một mảng mới chứa các bình phương, cũng được sắp xếp theo thứ tự không giảm.

Hàm

sortedSquares(nums: integer-array) → integer-array
numsinteger-array
mảng số nguyên đã sắp xếp, có thể chứa số âm
Trả vềinteger-array
bình phương của mỗi giá trị, được sắp xếp theo thứ tự không giảm

Ràng buộc

  • 1 ≤ nums.length ≤ 4000
  • -104 ≤ nums[i] ≤ 104
  • nums được sắp xếp theo thứ tự không giảm.

Ví dụ

Đầu vào
nums = [-6, -2, 1, 3, 7]
Đầu ra
[1, 4, 9, 36, 49]
Giải thích
Các bình phương theo thứ tự ban đầu là 36, 4, 1, 9 và 49. Các giá trị âm -6 và -2 tạo ra bình phương lớn, nên việc sắp xếp chuyển 36 về gần cuối: [1, 4, 9, 36, 49].
challenge icon

Câu hỏi mở rộng

Bình phương và sắp xếp mất O(n log n). Bạn có thể làm việc đó trong O(n) không?

Đặt lại code
def sortedSquares(nums):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Đối số

nums = [-6, -2, 1, 3, 7]

Đầu ra mong đợi

[1, 4, 9, 36, 49]