Leetcode 413. 等差数列划分
思路:等差数列的性质 A[i] - A[i - 1] == A[i - 1] - A[i - 2]
方法1:暴力,一旦当前区间不满足等差数列了,那就不需要继续判断了。
class Solution {public int numberOfArithmeticSlices(int[] A) {int n = A.length;if(n < 3) return 0;int count = 0;for(int i = 0; i < n - 2; i++){int d = A[i + 1] - A[i];for(int j = i + 2; j < n; j++){if(A[j] - A[j - 1] == d){count++;}else{// 一旦当前区间不满足等差数列了,那就不需要继续判断了。break;}}}return count;}
}
方法2:
动态规划 dp[i]表示以当前位置结尾时,共有多少个等差数列。
dp[i] = dp[i - 1] + 1 含义为,
以当前位置结尾时的等差数列个数 = 以前一个位置结尾时的等差数列个数 + 1,最后遍历dp相加即可。
class Solution {public int numberOfArithmeticSlices(int[] A) {if (A.length < 3) return 0;int n = A.length;int[] dp = new int[n];int sum = 0;for (int i = 2; i < n; i++){if (A[i] - A[i - 1] == A[i - 1] - A[i - 2]){dp[i] = dp[i - 1] + 1;sum += dp[i];}}return sum;}
}
Leetcode 413. 等差数列划分相关推荐
- leetcode - 413. 等差数列划分
413. 等差数列划分 -------------------------------------------- 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如 ...
- 等差数列java_Java实现 LeetCode 413 等差数列划分
413. 等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, - ...
- Java实现 LeetCode 413 等差数列划分
413. 等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, - ...
- Leetcode 413.等差数列划分
Time: 20190906 Type: Medium 题目描述 以下数列不是等差数列. 1, 1, 2, 5, 7 数组 A 包含 N 个数,且索引从0开始.数组 A 的一个子数组划分为数组 (P, ...
- Leetcode 413. 等差数列划分(python)
如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 以下数列不是 ...
- LeetCode 413 等差数列划分
题目描述 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 以 ...
- [leetcode] 413. 等差数列划分
一开始想得是这题应该是用动态规划来做,但是没写出来 下面的都是leetcode上的代码: https://leetcode-cn.com/problems/arithmetic-slices/solu ...
- leetcode 413. 等差数列划分
如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 以下数列不是 ...
- 2022-4-18 Leetcode 413. 等差数列划分
class Solution {public:int numberOfArithmeticSlices(vector<int>& nums) {int n = nums.size( ...
- LeetCode 413. 等差数列划分(DP)
1. 题目 一个数列的等差数列子数组有多少个. A = [1, 2, 3, 4]返回: 3, A 中有三个子等差数组: [1, 2, 3], [2, 3, 4] 以及自身 [1, 2, 3, 4]. ...
最新文章
- SAP RETAIL Plant Group里的特性
- Python总结:Python基础(一)
- 【LeetCode从零单排】No.160 Intersection of Two Linked Lists
- Build failed in step 'Installing CLooG for host'
- Nginx 模块开发
- QT显示框架嵌入Vs控制台工程
- SAP UI5 formatter的原理和调试截图-当UI字段没有值显示时怎么办
- vue中的适配:px2rem
- 论中国传统辩证推理科学理论范式(ZZ)
- ubuntu修改固定ip
- 多线程笔试题(linux)
- Java语言词法分析器
- matlab连接github,GitHub - chenboshuo/learn_matlab: 我的matlab学习
- arduino 读取串口信息hex_进阶教程1:Arduino串口通信与电脑控制LED
- 计算机精品学习资料大放送
- 华人的旗帜——首位亚裔图灵奖获得者姚期智
- 火车头怎么采集php的,火车采集器采集入库教程
- No serializer found for class com.yumoxuan.domain.Store and no properties discovered to create BeanS
- 异常检测——线性模型
- 常见 SQL 面试题:经典 50 例
热门文章
- ubuntu18.4搭建samba文件共享服务
- Connection closed by foreign host.
- 模型评价指标:准确率、精确率、召回率、F1值,混淆矩阵
- 测试机械表误差的软件,机械表的误差越小就越好吗?其实你错了
- A. 阿里巴巴 数据中台 --- 建设之路
- STC89C516/C52单片机串口波特率9600初始化代码
- 哈佛大学开放课程:《公正:该如何做是好?》
- 2021年中国职工医疗互助发展分析:在政策的引导下,职工医疗互助将迎来高质量发展阶段[图]
- Unity3d笔记——利用Animator使模型动起来
- ECM技术学习:基于模板的帧内模式推导(Template based intra mode derivation )