413. Arithmetic Slices

https://leetcode.com/problems/arithmetic-slices/description/
解题思路:

  1. 首先判断其可用动态规划解决

  2. when array[i] - array[i - 1] == array[i - 1] - array[i - 2]
    dp[i] = dp[i - 1] + 1;
    result += dp[i]
    代码如下:
    class Solution {
    public int numberOfArithmeticSlices(int[] A) {

     int len = A.length;
     if(len < 3) return 0;
     int[] dp = new int[len];
     if(A[2] -A[1] == A[1]-A[0]) dp[2] = 1;
     int res = dp[2];
     for(int i = 3; i < len; i++){
         if((A[i] - A[i - 1]) == (A[i - 1] - A[i - 2]))
             dp[i] = dp[i - 1] + 1;            
         res += dp[i];
     }
     return res;
    

    }
    }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 3,297评论 0 3
  • 01.{ 换行: Opening Brace Can't Be Placed on a Separate Lin...
    码农不器阅读 2,487评论 0 14
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,132评论 0 2
  • 我自前世匆匆而来 揭开盒子上的布 如同揭开真相 或喜或悲 我讶异于我们何时表演得 这么大人模样,不再慌张 也只有当...
    林也阅读 754评论 3 2

友情链接更多精彩内容