Acwing---1246. 等差数列

news2024/11/26 3:11:31

等差数列

  • 1.题目
  • 2.基本思想
  • 3.代码实现

1.题目

数学老师给小明出了一道等差数列求和的题目。

但是粗心的小明忘记了一部分的数列,只记得其中 N个整数。

现在给出这 N个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?

输入格式
输入的第一行包含一个整数 N。

第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN。(注意 A1∼AN 并不一定是按等差数列中的顺序给出)

输出格式
输出一个整数表示答案。

数据范围
2 ≤ N ≤ 100000 2≤N≤100000 2N100000,
0 ≤ A i ≤ 1 0 9 0≤Ai≤10^9 0Ai109

输入样例:

5
2 6 4 10 20

输出样例:

10

样例解释:

包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、18、20。

2.基本思想

在这里插入图片描述

每一项与第一项的差一定是 d 的倍数 每一项与第一项的差一定是d的倍数 每一项与第一项的差一定是d的倍数
当 d ! = 0 时, ( a 末 − a 初 ) / d + 1 − − − − 让公差 d 最大即可 当d != 0 时, (a末 - a初) / d + 1 ---- 让公差d最大即可 d=0时,(aa)/d+1让公差d最大即可
当 d = = 0 时,答案为 n 当d == 0 时,答案为 n d==0时,答案为n

3.代码实现

import java.util.Arrays;
import java.util.Scanner;

public class _1246等差数列 {
    static Scanner sc = new Scanner(System.in);
    static int N = 100010;
    static int a[] = new int[N];

    public static void main(String[] args) {
        int n = sc.nextInt();
        for (int i = 1; i <= n; i++) a[i] = sc.nextInt();
        Arrays.sort(a, 1, n + 1);
        int d = 0;
        //通过 最大公约数 求出 公差d
        for (int i = 2; i <= n ; i++) d = gcd( a[i] - a[1],d);

        if (d == 0) System.out.println(n);
        else System.out.println((a[n] - a[1]) / d + 1);
    }

    public static int gcd(int a, int b) {
        return b == 0 ? a : gcd(b, a % b);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT 接入微信,最强聊天机器人来了

最近的 ChatGPT 又再次火热起来了&#xff0c;各种周边工具也是层出不穷&#xff0c;今天我们就一起来做一个基于 ChatGPT 的微信聊天机器人&#xff0c;来感受 AI 世界的快乐吧~ 我们先来看几个我比较关心的问题吧 Python 语言算法 什么是 ChatGPT 人工智能会统治世界吗&a…

【Kubernetes】【二】环境搭建 环境初始化

本章节主要介绍如何搭建kubernetes的集群环境 环境规划 集群类型 kubernetes集群大体上分为两类&#xff1a;一主多从和多主多从。 一主多从&#xff1a;一台Master节点和多台Node节点&#xff0c;搭建简单&#xff0c;但是有单机故障风险&#xff0c;适合用于测试环境多主…

带你玩转Jetson之Deepstream简明教程(四)DeepstreamApp如何使用以及用于工程验证。

1.DeepstreamApp是什么&#xff1f; 如果你安装完毕deepstream整体框架&#xff0c;会在你的系统执行目录内有可执行文件&#xff0c;文件名字是deepstream-app。这是一个可执行脚本文件&#xff0c;通过deepstream框架中的代码在安装的时候编译后install到系统根目录内。 此脚…

家政服务小程序实战教程11-首页跳转到分类页面

小程序的分类页面&#xff0c;通常会以侧边栏导航显示内容&#xff0c;我们使用了侧边选项卡和数据列表组件实现了分类展示的功能 还有个需求是从首页点击某个分类的时候&#xff0c;跳转到分类页时候需要选中对应的类别 01 增加页面参数 页面如果跳转时候需要这种接收参数并实…

JAVA和Spring的SPI机制讲解

文章目录1 SPI机制讲解1.1 引言1.2 Java SPI实现1.2.1 示例说明1.2.2 相关测试1.2.3 源码分析1.3 Spring SPI1.3.1 Spring 示例1.3.2 相关测试类1.3.3 源码分析1 SPI机制讲解 1.1 引言 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制&#xff0c;可以用来启…

力扣337题 打家劫舍Ⅲ Java语言版

/**每个节点都用一个长度为2的数组来表示其状态,其中dp[0]表示偷该节点所得到的最多钱币,dp[1]表示不偷该节点所得到的最多钱币*/ class Solution {public int rob(TreeNode root) {int[] robRoot robTree(root);return Math.max(robRoot[0],robRoot[1]);}public int[] robTre…

rtp协议

RTP协议 在实时音视频通话中&#xff0c;我们通常使用 UDP 作为传输层协议&#xff0c;使用 RTP 协议包荷载音视频数据&#xff0c;RTP&#xff08;Real-time Transport Protocol&#xff09;是一种在 Internet 上传输多媒体数据的应用层协议&#xff0c;它通常建立在 UDP 之上…

RabbitMQ学习(五):RabbitMQ持久化

一、持久化概念在上一章内容中我们已经看到了如何处理任务不丢失的情况&#xff0c;但是如何保障当 RabbitMQ 服务停掉后消 息生产者发送过来的消息不丢失呢&#xff1f;默认情况下 RabbitMQ 退出或由于某种原因崩溃时&#xff0c;它将忽视队列 和消息&#xff0c;除非告知它不…

Python 考试练习题4

1. 将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表。 tup(1,2,3) set{4,5,6} listlist(tup)list(set) print(list) 2. 在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0。 #方法1 list[1,2,3,4,5,6] list.insert(0,7) #list.append(0) 这两种也可以 #list.insert(len(list…

PowerJob的server启动都经历了哪些?代码不多也很简单,咱们来逐一理解。

这是一篇让你受益匪浅的文章&#xff0c;点个关注交流一下吧~ PowerJob如何使用&#xff0c;官方文档已经说的很详细了&#xff0c;即使没学过计算机的人&#xff0c;按照那上面的步骤来也是可以搭建出一个可以使用的例子来&#xff0c;所以今天就不在这里重复前人的工作&#…

DataWhale 大数据处理技术组队学习task1

DataWhale 大数据处理技术组队学习task1 一、大数据概述 1. 大数据时代&#xff08;详细内容参考参考文章&#xff09; 2. 大数据的概念&#xff08;又或者是特点&#xff09; 4V 数据量大&#xff08;Volume&#xff09; 数据来源&#xff1a;可以是计算机、手机&#xff…

Linux 常用命令——【 2.查看程序端口占用及网络连接 netstat 命令】

文章目录1. netstat 简介2.命令格式&#xff1a;3. 命令参数&#xff1a;4. 常用命令1. netstat 简介 netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序&#xff0c;…

ACWING寒假每日一题python

ACWING寒假每日一题 一、孤独的照片 一个点一个点的来看&#xff0c;比如对于GHGHG中间的G&#xff0c;找到他的左边的G&#xff0c;以及右边的G的位置&#xff0c;l,r分别等于1&#xff0c;答案就要多加上11 但是如果对于 GHHGHHG 中间的G&#xff0c;我们可以看到l,r等于2&a…

【计算机网络期末复习】第六章 应用层

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4e3;专栏定位&#xff1a;为想复习学校计算机网络课程的同学提供重点大纲&#xff0c;帮助大家渡过期末考~ &#x1f4da;专栏地址&#xff1a; ❤️如果有收获的话&#xff0c;欢迎点…

Echarts 修改雷达图背景分割面,分割线颜色,设置数据线颜色

第016个点击查看专栏目录Echarts的雷达图背景可以是圆形的&#xff0c;也可以是多边形的&#xff0c;背景颜色&#xff0c;线条颜色都可以做个性化设置&#xff0c;这里是改变背景灰色&#xff0c;设置为浅红色。分割线也变成浅蓝色。同时数据线的颜色也变成了亮色。参考源代码…

【LeetCode】最大正方形 [M](动态规划)

221. 最大正方形 - 力扣&#xff08;LeetCode&#xff09; 一、题目 在一个由 0 和 1 组成的二维矩阵内&#xff0c;找到只包含 1 的最大正方形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0…

从零实现WebRTC(二):WebRTC的通信过程

文章目录一、WebRTC需要解决的问题二、ICE(Interactive Connectivity Establishment)三、ICE的详细步骤四、知识点四一、WebRTC需要解决的问题 WebRTC是由google提出的的一个用于端到端实现p2p音视频通信的框架。比起其他的hls, http-flv等直播方案&#xff0c;webrtc在公网的…

ChatGPT的来源-InstructGPT论文简要介绍

文章目录前言一、ChatGPT是什么&#xff1f;二、ChatGPT的前身InstructGPT论文解读论文下载地址&#xff1a;主要内容&#xff1a;模型训练数据类型结果效果示例总结前言 现在大火的ChatGPT功能十分强大&#xff0c;不仅可以回答用户问题&#xff0c;编写故事&#xff0c;甚至…

Spring Cloud Alibaba Sentinel 熔断降级与OpenFeign整合

熔断降级 概述 对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块&#xff0c;可能是另外的一个远程服务、数据库&#xff0c;或者第三方 API 等。例如&#xff0c;支付的时候&#xff0c;可能需要远程调用银联提供的 API&…

关于基线长度对双天线GNSS测姿精度的影响

文章目录一、GNSS测姿原理1. 载波相位双差求解基线向量2. GNSS姿态角表示二、基线长度对GNSS测姿精度的影响三、GNSS定向产品精度描述实例四、参考文献在GNSS定向模块或者板卡的指标参数中&#xff0c;我们一般会看到航向的测量精度和基线的长度相关。在实际使用&#xff0c;用…