413. Arithmetic Slices

A sequence of number is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is the same.

For example, these are arithmetic sequence:

1, 3, 5, 7, 9
7, 7, 7, 7
3, -1, -5, -9

The following sequence is not arithmetic.

1, 1, 2, 5, 7

A zero-indexed array A consisting of N numbers is given. A slice of that array is any pair of integers (P, Q) such that 0 <= P < Q < N.

A slice (P, Q) of array A is called arithmetic if the sequence:
A[P], A[p + 1], ..., A[Q - 1], A[Q] is arithmetic. In particular, this means that P + 1 < Q.

The function should return the number of arithmetic slices in the array A.

Example:

A = [1, 2, 3, 4]

return: 3, for 3 arithmetic slices in A: [1, 2, 3], [2, 3, 4] and [1, 2, 3, 4] itself.

思路:題目很冗長,實際上就是找有幾個等差數(shù)列(長度大于3的).i作為序列頭,從0開始到N-3遍歷數(shù)組,首先找一個最短的等差序列(長度為3),找到后算出間距dist,再以j為序列尾,從i+3開始到N向后擴張,看等差序列是否還存在后續(xù).只要找到一個間距不等于dist,表明在這里斷開,退出內(nèi)層j循環(huán),序列頭后移一位.如此往復(fù)

int numberOfArithmeticSlices(vector<int>& A) {
    int N = A.size();
    int count = 0;
    if (N < 3) return 0; //特殊情況處理
    for (int i = 0; i < N-2; i++) { //遍歷0到N-3的位置
        if (A[i+1] - A[i] != A[i+2] - A[i+1]) continue;  //A[i,i+1,i+2]不滿足等差數(shù)列,直接跳過本次循環(huán)
        int dist = A[i+1] - A[i];  //等差間距distance
        count++;  //找到一個等差
        for (int j = i+3; j < N; j++) {  //j從i+2之后找,看等差序列是否還存在后續(xù)
            if (A[j] - A[j-1] != dist) break;  //只要發(fā)現(xiàn)一個不等的,立即退出循環(huán)
            count++;
        }
    }
    return count;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末困后,一起剝皮案震驚了整個濱河市持灰,隨后出現(xiàn)的幾起案子创译,更是在濱河造成了極大的恐慌,老刑警劉巖叁熔,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異床牧,居然都是意外死亡荣回,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門戈咳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來心软,“玉大人,你說我怎么就攤上這事著蛙∩玖澹” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵踏堡,是天一觀的道長猎唁。 經(jīng)常有香客問我,道長暂吉,這世上最難降的妖魔是什么胖秒? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮慕的,結(jié)果婚禮上阎肝,老公的妹妹穿的比我還像新娘。我一直安慰自己肮街,他們只是感情好风题,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嫉父,像睡著了一般沛硅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绕辖,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天摇肌,我揣著相機與錄音,去河邊找鬼仪际。 笑死围小,一個胖子當著我的面吹牛昵骤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肯适,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼变秦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了框舔?” 一聲冷哼從身側(cè)響起蹦玫,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刘绣,沒想到半個月后樱溉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡额港,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年饺窿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移斩。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡肚医,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出向瓷,到底是詐尸還是另有隱情肠套,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布猖任,位于F島的核電站你稚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏朱躺。R本人自食惡果不足惜刁赖,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望长搀。 院中可真熱鬧宇弛,春花似錦、人聲如沸源请。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谁尸。三九已至舅踪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間良蛮,已是汗流浹背抽碌。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留决瞳,地道東北人货徙。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓泽裳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親破婆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 陳道明帥嗎饰豺? 帥! 必須帥! 年過60冤吨,卻越來越帥! 最近熱播的《我的前半生》漩蟆,陳道明扮演其中的日料店“醬子”老板...
    小瑜姑娘閱讀 871評論 6 15
  • url與資源 本章我們將介紹以下內(nèi)容: url語法蛤克,以及各種url組件的含義及其所做的工作; 很多web客戶端都支...
    shenyifu閱讀 450評論 0 0
  • 虛擬現(xiàn)實的崛起已是必然输钩,但任何一個對虛擬現(xiàn)實行業(yè)稍有了解的人买乃,都應(yīng)該了解剪验,現(xiàn)階段虛擬現(xiàn)實行業(yè)的發(fā)展功戚,內(nèi)容的發(fā)展是滯...
    小太陽會發(fā)光諾閱讀 915評論 0 1
  • 但不是全部的科學(xué)家都這樣認為烁落。比如顽馋,麻省理工學(xué)院大氣科學(xué)教授RL堅持說竟稳,全球變暖的說法是對"警告感興趣"的人們...
    sxrunn閱讀 190評論 0 1