public class Solution {
public int NumberOfArithmeticSlices(int[] A) {
int curr = , sum = ;
for (int i = ; i < A.Length; i++)
if (A[i] - A[i - ] == A[i - ] - A[i - ])
{
curr += ;
sum += curr;
}
else
{
curr = ;
}
return sum;
}
}

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

补充一个java的实现:

 class Solution {
public int numberOfArithmeticSlices(int[] A) {
if (A == null || A.length == ) {
return ;
}
int n = A.length;
int[] dp = new int[n];
for (int i = ; i < n; i++) {
if (A[i] - A[i - ] == A[i - ] - A[i - ]) {
dp[i] = dp[i - ] + ;
}
}
int total = ;
for (int cnt : dp) {
total += cnt;
}
return total;
}
}

解释:

dp[i] 表示以 A[i] 为结尾的等差递增子区间的个数。

因为递增子区间不一定以最后一个元素为结尾,可以是任意一个元素结尾,因此需要返回 dp 数组累加的结果。

leetcode413的更多相关文章

  1. [Swift]LeetCode413. 等差数列划分 | Arithmetic Slices

    A sequence of number is called arithmetic if it consists of at least three elements and if the diffe ...

随机推荐

  1. scala学习笔记(9): 语法续

    1 不定长参数 def sum(args: Int*) = { var result = 0 for ( arg <- args) result += arg result } 2 数组初始化 ...

  2. selenium-java,启动谷歌浏览器和火狐浏览器

    selenium3.4.0-java,启动谷歌浏览器和火狐浏览器-------------------------------------------------------------------- ...

  3. 每天一个linux命令:【转载】mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  4. Redis构建全局并发锁

    Redis构建全局并发锁 https://www.cnblogs.com/FG123/p/9990336.html 谈起Redis的用途,小伙伴们都会说使用它作为缓存,目前很多公司都用Redis作为缓 ...

  5. 《selenium2 python 自动化测试实战》(14)——下载文件

    说下载文件之前,我再和大家说一下用cookie登录的事,既然我们用cookie登录,那么传过去的cookie肯定是要和对应的网站完全一致的,注意,是包括大小写哦,本来我也是不知道,我用这个方法登录自己 ...

  6. ubuntu scrapy 开发环境搭建

    我的版本是14.04 1.更新系统  ##如果系统没有换国内下载路径需要换下系统的更新下载路径 http://www.cnblogs.com/seablog/p/7043798.html sudo a ...

  7. CentOS解压rar文件

    默认不能解压rar文件. 进官网下载:http://www.rarsoft.com/download.htm RAR 5.40 for Linux x64 安装: # tar -zxvf rarlin ...

  8. 关于浏览器和IIS基础的简单理解

    浏览器 输入域名或者IP地址,按回车访问后:发生了什么??IIS是如何工作的?为什么能这么工作?? 1    浏览器和IIS 分别是两个应用程序:浏览器访问网址实际就是  两个应用程序的数据交互往来: ...

  9. odoo10 修改产品单价的小数点位数

    odoo10 修改产品单价的小数点位数 由于产品价格原因,单价需要保留小数点后 5 位,所以需要修改单价的小数点位数. 开启开发模式 找到数据库编辑 找到小数点精度 修改产品的小数点位数

  10. web 前端 html

    1,什么是web 在网络中,大量的数据需要有一个载体,而很多人都能够访问这个载体,利用浏览器的这个窗口链接一个有一个载体,这个载体就是网站也就是web的前身. 1,web标准:结构标准,表现标准,行为 ...