日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

LeetCode 413 等差数列划分

發布時間:2025/3/15 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 413 等差数列划分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 題目描述
  • 如果一個數列至少有三個元素,并且任意兩個相鄰元素之差相同,則稱該數列為等差數列。 例如,以下數列為等差數列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 以下數列不是等差數列。 1, 1, 2, 5, 7 數組 A 包含 N 個數,且索引從0開始。數組 A 的一個子數組劃分為數組 (P, Q),P 與 Q 是整數且滿足 0<=P<Q<N 。 如果滿足以下條件,則稱子數組(P, Q)為等差數組: 元素 A[P], A[p + 1], ..., A[Q - 1], A[Q] 是等差的。并且 P + 1 < Q 。 函數要返回數組 A 中所有為等差數組的子數組個數。
  • 題解
  • 動態規劃:dp[i]表示以i位置的數為結尾中形成等差數列的個數的集合。則每次如果A[i]、A[i?1]、A[i?2] 形成一個等差數列,則這個A[i]有可能由和之前i-1位置為結尾形成的所有等差數列分別拼接而成,所以計算集 合的值時要加上dp[i?1]、dp[i-1]、dp[i?1]。最后統計所有結尾的等差數量sum即可。
  • 代碼
  • class Solution { public:int numberOfArithmeticSlices(vector<int>& A) {int len=A.size();if (!len||len==1||len==2) return 0;int res=0,tmp=0;for (int i=2;i<A.size();i++){if (A[i]-A[i-1]==A[i-1]-A[i-2]) tmp=tmp+1;else tmp=0;res+=tmp;}return res;} };

    總結

    以上是生活随笔為你收集整理的LeetCode 413 等差数列划分的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。