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

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

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

 

1 題目描述

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

例如,如下三個數(shù)列即為等差數(shù)列:

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

如下數(shù)列不是等差數(shù)列:

1, 1, 2, 5, 7

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

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

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

代碼函數(shù)需返回數(shù)組A的等差數(shù)列的個數(shù)。

例子:

輸入:

A = [1, 2, 3, 4]

輸出:

3

釋義:

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

題目出處:

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

2 解決思路

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

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

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

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

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

Go語言實現(xiàn)LeetCode算法:413 等差數(shù)列切片

 

3 golang實現(xiàn)代碼

綜上,整個邏輯的實現(xiàn)代碼為:

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

Go語言實現(xiàn)LeetCode算法:413 等差數(shù)列切片

 

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

分享到:
標(biāo)簽:算法 語言 LeetCode
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

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

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定