«Квадраты отсортированного массива» относится к легкой категории и является хорошим началом для понимания более сложных алгоритмов, использующих массивы в качестве структуры данных. Я сосредоточусь на объяснении решения, которое работает, а не на временной и пространственной сложности.
Задача:«Дано массив целых чисел, отсортированный в неубывающем порядке, вернуть массив квадратов каждого числа, отсортированных по неубывающий порядок."LeetCode.
Примечание.
//Array data structure //Input sorted array smaller to a greater element //Return square of each element sorted smaller to greater element.
Пример:
nums = [-3,-2,0,4,10] return [0,4,9,16,100]
Пояснение:
пройтись по массиву, возвести в квадрат каждый элемент, а затем вернуть отсортированный массив от меньшего к большему.
1. Прокрутите массив
for (i= 0; i< nums.length;i++){}
2. Возведение каждого элемента в квадрат с помощью Math.pow(base, exponent)
nums[i] = Math.pow(nums[i], 2)
3.Возврат отсортированного массива с помощью метода сортировки
return nums.sort((a,b) => a - b)
Решение:
var sortedSquares = function(nums) { for (i= 0; i < nums.length;i++){ nums[i] = Math.pow(nums[i], 2) } return nums.sort((a,b) => a-b) };