日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

1 題目描述

若一個數列至少有三個元素,且任意相鄰兩元素的差相等,則該數列為一個等差數列。

例如,如下三個數列即為等差數列:

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

如下數列不是等差數列:

1, 1, 2, 5, 7

現給定一個以0為起始索引,包含N個數的數組A。數組的切片(P, Q)為滿足規則(0 <= P < Q < N)的任意整數組合。

若數組A的切片(P, Q)滿足如下規則,則稱該數組切片是一個等差數列:

A[P], A[p + 1], ..., A[Q - 1], A[Q]是一個等差數列,且P + 1 < Q。

代碼函數需返回數組A的等差數列的個數。

例子:

輸入:

A = [1, 2, 3, 4]

輸出:

3

釋義:

A中有3個等差數列切片:[1, 2, 3],[2, 3, 4]與[1, 2, 3, 4]。

題目出處:

https://leetcode.com/problems/arithmetic-slices/

2 解決思路

首先從A中找出有幾個最長等差數列。

a)首先定義slices用來存儲所有最長的等差slice,slice初始為2,初始間隔preInterval為a[1]-a[0];

b)從第3個元素開始遍歷A,若當前元素與前一個元素的差interval與preInterval相等,則slice+1;若interval與preInterval不等,則判斷是否將當前slice合入slices,并將slice賦值為2,preInterval賦值為interval,遍歷下一個元素;

c)直至遍歷到最后一個元素,若interval與preInterval相等,則判斷是否將當前slice合入slices。

對其中一個滿足規則的最長等差數列,計算其中所有滿足等差數列規則的切片個數的計算函數為。

Go語言實現LeetCode算法:413 等差數列切片

 

3 golang實現代碼

綜上,整個邏輯的實現代碼為:

https://github.com/olzhy/leetcode/blob/master/413_Arithmetic_Slices/test.go

Go語言實現LeetCode算法:413 等差數列切片

 

原文:https://leileiluoluo.com/posts/leetcode-arithmetic-slices.html

分享到:
標簽:算法 語言 LeetCode
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定