Leetcode 1630 - Arithmetic Subarrays

題目

Problem#

給你一個整數陣列 nums,如果可以重排成: 其中的整個陣列的相鄰數字的差(s[i+1] - s[i] == s[1] - s[0])相同的話代表 true 反之代表 false。
還有兩個整數陣列 LR,其中 [L[i], R[i]] 代表查詢 nums 中 index 範圍的數字是 true 還 false,會把答案存在陣列並回傳。

測資限制#

  • nums 大小: $2 \le n \le 500$
  • L, R 大小: $1 \le m \le 500$
  • $0 \le L[i] < R[i] < n$
  • $-10^5 \le \text{nums[i]} \le 10^5$

想法#

給定範圍 [L[i], R[i]] 可以另外開一個陣列存,接著 sort 之後,便可以兩兩相減看有沒有都一樣,如果相差一樣則代表 true 反之 false

AC Code#

  • 時間複雜度: $\mathcal{O}(m n \log{n})$
  • 空間複雜度: $\mathcal{O}(n)$

心得#

應該是 easy