We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b004865 commit 974948bCopy full SHA for 974948b
solution/0900-0999/0977.Squares of a Sorted Array/README.md
@@ -50,6 +50,41 @@
50
51
<!-- 这里可写通用的实现逻辑 -->
52
53
+**暴力**:
54
+
55
+1. 遍历数组,并将元素修改为对应的平方值。
56
+2. 排序,返回。
57
58
+*分析*:
59
60
+因为 `nums` 中存在负数,`-10` 与 `5` 转换为平方值之后,`-10` 反而要更大,因此需要额外进行一次排序。
61
62
+**双指针**:
63
64
+该过程需要原数组保持不变动,对此声明一个等长数组存储计算结果,作为返回值。
65
66
+声明头尾指针,并进行比较,哪方指针所指向元素的平方值更大,哪方平方值进入返回数组当中,并移动对应指针。重复比较过程,直到头指针超过尾指针。
67
68
+由于是头尾指针,平方值获取过程是**从大到小**,对此存入数组的过程是**逆序**的。
69
70
+```txt
71
+SORTED-SQUARES(A)
72
+ n = A.length
73
+ i = 0
74
+ j = n - 1
75
+ k = n - 1
76
+ let r[0..n]be a new array
77
+ while i < j
78
+ if A[i] * A[i] > A[j] * A[j]
79
+ r[k] = A[i] * A[i]
80
+ i += 1
81
+ else
82
+ r[k] = A[j] * A[j]
83
+ j -= 1
84
+ k -= 1
85
+ return r
86
+```
87
88
<!-- tabs:start -->
89
90
### **Python3**
0 commit comments