LeetCode 1630 等差子陣列

2021-10-25 05:23:20 字數 1702 閱讀 9968

如果乙個數列由至少兩個元素組成,且每兩個連續元素之間的差值都相同,那麼這個序列就是 等差數列 。更正式地,數列 s 是等差數列,只需要滿足:對於每個有效的 i ,s[i+1] - s[i] == s[1] - s[0]都成立。

例如,下面這些都是 等差數列 :

1,3

,5,7

,97,

7,7,

73,-

1,-5

,-9

下面的數列 不是等差數列 :

1,1

,2,5

,7

給你乙個由 n 個整數組成的陣列 nums,和兩個由 m 個整數組成的陣列 l 和 r,後兩個陣列表示 m 組範圍查詢,其中第 i 個查詢對應範圍[l[i], r[i]]。所有陣列的下標都是 從 0 開始 的。

返回 boolean 元素構成的答案列表 answer 。如果子陣列nums[l[i]], nums[l[i]+1], ... , nums[r[i]]可以 重新排列 形成 等差數列 ,answer[i] 的值就是 true;否則answer[i] 的值就是 false 。

示例 1:

輸入:nums =[4

,6,5

,9,3

,7], l =[0

,0,2

], r =[2

,3,5

]輸出:[

true

,false

,true

]解釋:

第 0 個查詢,對應子陣列 [4,

6,5] 。可以重新排列為等差數列 [6,

5,4] 。

第 1 個查詢,對應子陣列 [4,

6,5,

9] 。無法重新排列形成等差數列。

第 2 個查詢,對應子陣列 [5,

9,3,

7] 。可以重新排列為等差數列 [3,

5,7,

9] 。

示例 2:

輸入:nums =[-

12,-9

,-3,

-12,-

6,15,

20,-25

,-20,

-15,-

10], l =[0

,1,6

,4,8

,7], r =[4

,4,9

,7,9

,10]輸出:[

false

,true

,false

,false

,true

,true]

n == nums.length

m == l.length

m == r.length

2<= n <=

5001

<= m <=

5000

<= l[i]

< r[i]

< n

-105

<= nums[i]

<=10^

5

class

solution}if

(flag)

ans[i]

=true;}

return ans;}}

;

232 ms 25.4 mb

我的csdn部落格位址

1630 等差子陣列(暴力破解)

1.問題描述 如果乙個數列由至少兩個元素組成,且每兩個連續元素之間的差值都相同,那麼這個序列就是等差數列 更正式地,數列 s 是等差數列,只需要滿足 對於每個有效的 i s i 1 s i s 1 s 0 都成立。例如,下面這些都是 等差數列 1,3,5,7,9 7,7,7,7 3,1,5,9 下面...

BZOJ2124 等差子串行

挺厲害的題 我們考慮當前加入了第i個數,為x,那麼我們可以維護一下哪個數出現過,出現過為1,沒出現為0,那麼加入x的時候我們只需要判斷以x為中心的極長子串是否是回文串即可 用乙個樹狀陣列維護兩個方向的雜湊值即可 include include include include include incl...

bzoj 2124 等差子串行

description 給乙個1到n的排列,詢問是否存在1 p1 p2 p3 p4 p5 plen n len 3 使得ap1,ap2,ap3,aplen是乙個等差序列。input 輸入的第一行包含乙個整數t,表示組數。下接t組資料,每組第一行乙個整數n,每組第二行為乙個1到n的排列,數字兩兩之間用...