如果乙個數列由至少兩個元素組成,且每兩個連續元素之間的差值都相同,那麼這個序列就是 等差數列 。更正式地,數列 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的排列,數字兩兩之間用...