獨特區間

題目詳情

給你一個長度爲n的正整數序列A1,A2,A3...An,請你求出有多少個獨特區間,獨特區間就是一個連續的並且區間

裏的每個數都不相同的子序列。例如:1 2 3 答案就是6,因爲每個數都不行同。 1 2 2 答案是4


輸入描述:

   輸入包含多組測試數據,每組測試數據包含兩行,第一行爲一個正整數n(0<n<=1000000);第二行包含n個正整數

,每個數都小於2^30,每兩個數以空格隔開。


輸出描述:

   對於每組測試數據輸出相應的答案。


答題說明

樣例輸入:

5

3 4 5 5 2

3

1 2 3

樣例輸出:

9

6


思路:感覺也沒有什麼好說的,假設數組爲array,設置兩個指標l和r,起初l=0,r=1,然後如果在區間l到r-1沒有
找到array[r],或者找到了但是找到的元素的下標小於l(這時記住更新該元素的小標爲最新的,即r),那麼r就向
右移動,否則,假設找到的元素的下標爲l1,那麼更新結果,與此同時,更新l爲l1. 讀者呀,我也不知道如何說了
,具體的看代碼吧。

           不過要注意,元素的查找我用的是hash,剛開始用的是二叉樹,傻子都知道會超時,不過我還是提交了(
呵呵,我不怕傻,不怕犯錯)。

代碼如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章