LeetCode——等差数列划分
题目:
7, 7, 7, 7
3, -1, -5, -9
示例:
代码:
public class EaquealQueue {
    public static int countOfArithmetic(int[] A) {
       int count = 0;
        if(A.length<3){
            return 0;
        }
     //重点:判断等差数列
         for(int i=0; i<A.length-2; i++){
            for(int j=i+1; j<A.length-1; j++){
                if(A[j + 1] - A[j] == A[i + 1] -A[i]){
                    count++;
                }else{
                    break;
                }
            }
        }
        return count;
   }
    public  static void main(String[] args){
        int[] A = {1,2,3,4,5,9,10,11,12};
        System.out.print(countOfArithmetic(A));
    }
}
//优化一下时间复杂度后:
public class EaquealQueue {
    public static int countOfArithmetic(int[] A) {
       int count = 0;
       int lianXu = 0;
        if(A.length<3){
            return 0;
        }
     //重点:判断等差数列
        for(int i=1; i<A.length-1; i++){
            if (A[i] - A[i-1] == A[i+1] - A[i]){
                lianXu ++;
            }else {
                lianXu = 0;
            }
            count += lianXu;
        }
        return count;
   }
    public  static void main(String[] args){
        int[] A = {1,2,3,4};
        System.out.print(countOfArithmetic(A));
    }
}
 
LeetCode——等差数列划分的更多相关文章
- Leetcode之动态规划(DP)专题-413. 等差数列划分(Arithmetic Slices)
		
Leetcode之动态规划(DP)专题-413. 等差数列划分(Arithmetic Slices) 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为 ...
 - Leetcode 446.等差数列划分II 子序列
		
等差数列划分II 子序列 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, ...
 - Leetcode 413.等差数列划分
		
等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 ...
 - Java实现 LeetCode 446 等差数列划分 II - 子序列
		
446. 等差数列划分 II - 子序列 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 ...
 - Java实现 LeetCode 413 等差数列划分
		
413. 等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, - ...
 - LeetCode:划分字母区间【763】
		
LeetCode:划分字母区间[763] 题目描述 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 示 ...
 - 【LeetCode】413. Arithmetic Slices 等差数列划分
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力 双指针 递归 动态规划 日期 题目地址:htt ...
 - Leetcode——413. 等差数列划分
		
题目描绘:题目链接 题目中需要求解一个数组中等差数组的个数,这个问题可以利用动态规划的思路来分析. 三步骤: 1:问题归纳.题目需要求解等差数列的和,我们可以用一个数组保存前i个元素可以构成的等差数列 ...
 - [Swift]LeetCode446. 等差数列划分 II - 子序列 | Arithmetic Slices II - Subsequence
		
A sequence of numbers is called arithmetic if it consists of at least three elements and if the diff ...
 
随机推荐
- Python学习笔记—条件判断和循环
			
条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...
 - linux常用20条命令
			
1.cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切换到 ...
 - @Transient的应用
			
我今天分配的任务是为一个页面Debug,遇到了一个问题查询的实体类在数据库没有对应的表,这时最常用的是建立视图或者表,但是应用@Transient注释可以让你更简单,免除建立表还有视图需要找多表关联关 ...
 - [redis]redis实现分页的方法
			
每个主题下的用户的评论组装好写入Redis中,每个主题会有一个topicId,每一条评论会和topicId关联起来,大致的数据模型如下:{ topicId: 'xxxxxxxx', comments: ...
 - OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题
			
问题 环境:Nova.Cinder.Glance 都对接了 Ceph RBD 后端存储. 以往的操作包括上传镜像.创建卷.挂载卷都是一切正常的,但突然出现了无法挂载卷的问题,而且还是因为 Ceph 客 ...
 - JVM内存模型及配置参数
			
JVM 分为堆.栈.方法区.程序计数器.本地方法栈 栈内存存放局部变量表.操作栈.动态链接.方法出口等信息 1. 局部变量表存放了编译期可知的各种基本数据类型(boolean.byte.char.s ...
 - vuex 使用
			
一.什么是Vuex Vuex是一个专门为Vue.js应用程序开发的状态管理模式, 它采用集中式存储管理所有组件的公共状态, 并以相应的规则保证状态以一种可预测的方式发生变化 二. 为什么要使用Vuex ...
 - spring boot系列(四)spring boot 配置spring data jpa (保存修改删除方法)
			
spring boot 使用jpa在pom.xml在上文中已经介绍过.在这里直接介绍各个类文件如何编写: 代码结构: domain(存放实体类文件): repository(存放数据库操作文件,相当于 ...
 - YAML基础知识及搭建一台简洁版guestbook
			
一,前言 前面我们已经搭建过简易版k8s集群了,在此基础上可以搭建一个简洁版guestbook ,以便来学习k8s创建pod的整个过程. 二,在此之前,我们还需要学习一下YAML基础知识 YAML 基 ...
 - linux中为什么删除文件比创建文件要快,读取文件和删除文件的过程是什么?
			
一.为什么删除文件比创建文件要快? 因为删除文件只是将bitmap位图表中将文件所占据的inode 和dacablock的使用状态从1变成0,相当于释放了这些快的使用权. 二.读取文件和删除文件的过程 ...