首页 > 其他分享 >等差数列-

等差数列-

时间:2024-04-08 20:34:40浏览次数:13  
标签:arr Scanner scan int nextInt Main 等差数列

import java.util.Arrays;
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int N = scan.nextInt();
        int[]arr = new int[N];
        for (int i = 0; i < N; i++) {
			arr[i] = scan.nextInt();
		}
        Arrays.sort(arr);
        int temp = Integer.MAX_VALUE;
        for (int i = 1; i < arr.length; i++) {
        	int a  = arr[i]-arr[i-1];
			temp = a<temp?a:temp;
		}
        if (temp==0) {
			System.out.println(N);
			return;
		}else {
			System.out.println((arr[N-1]-arr[0])/temp+1);
		}
        scan.close();
    }
}

标签:arr,Scanner,scan,int,nextInt,Main,等差数列
From: https://blog.csdn.net/qq_69099591/article/details/137509543

相关文章

  • abc234E 不小于X的数位构成等差数列的最小数字
    给定X,求不小于X的整数,满足各个数位正好构成等差数列。1<=X<=1E17直接枚举首项和公差,找出所有可行的解,取最优值即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definerep(i,a,b)for(inti=a;i<=b;i++)#defineper(i,a,b)for(inti=b;i>=a;......
  • 线段树维护区间等差数列
    线段树维护区间等差数列我们采用用两个懒标记分别维护等差数列首项k和公差d维护时有个细节是假如我有左右两个区间需要合并信息时我们对于左边还是k和d但是对于右边信息此时k应该变成k+len*d,公差还是dlen表示的是右边区间长度牛牛的等差数列#include......
  • [蓝桥杯 2019 省 B] 等差数列
    实际上这道题不需要先排序再求gcd,因为无论是哪两项之前作差,都不会影响最后的gcd的结果。因为公差是从a2-a1开始算的,因此i=1时要特殊处理,不能把a1-0计入贡献,否则会算出错误的gcd。即作差时不要加上a1-0,统计最值时不要漏掉a1#include<iostream>#include<stdio.h>#include<a......
  • 牛牛的等差数列(树状数组,区间加等差数列、区间求和)
    https://ac.nowcoder.com/acm/contest/5157/C区间加等差数列,区间求和树状数组,二阶差分\(b_i=a_i-a_{i-1}\)\(c_i=b_i-b_{i-1}\)\[\sum_{i=1}^na_i=\sum_{i=1}^n\sum_{j=1}^ib_j=\sum_{i=1}^n\sum_{j=1}^i\sum_{k=1}^jc_k\\=\sum_{k=1}^nc_k\sum_{i,j}[k\......
  • 【模板】 与等差数列结合的线段树
    题面代码点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineIOSios::sync_with_stdio(0);cin.tie(0);cout.tie(0);#definerep(i,a,n)for(inti=a;i<=n;i++)#defineper(i,a,n)for(inti=n;i>=a;i--)#definefifirst#definesesecond#defin......
  • 洛谷 P9936 [NFLSPC #6] 等差数列
    洛谷传送门对\((i,a_i)\)求出下凸包,那么一条凸包的斜率非正的切线是候选答案。只考虑切凸包上第\(i\)个点的切线,那么斜率的左边界是过凸包第\(i\)和第\(i+1\)个点的直线斜率,右边界是过凸包第\(i-1\)和第\(i\)个点的直线斜率。最优方案的切线斜率一定要么贴着左......
  • 二阶差分——进行一个等差数列的加
    一般的差分用于对一段区间进行加减,但如果在该区间内加减的是一段等差数列呢?对于一段区间[l,r],加一段首项为s,末项为e的等差数列。其公差d=(s-e)/(r-l+1)为简化问题讨论,先假设这段区间都为0。原数组:0000000添加后的数组:0046800第一次差分:00422-8......
  • 关于梯形面积和等差数列
    1.问题今天在学习压缩存储三角矩阵的时候,由于要计算上三角前(i-1)的个数,上方呈一梯形形状,就有想法梯形面积公式和等差数列求和公式及其相似,之间有什么联系呢?2.解决引用一篇文章有关链接:https://zhuanlan.zhihu.com/p/555204644?utm_id=0......
  • #yyds干货盘点# LeetCode程序员面试金典:等差数列划分
    1.简述:如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。 示例1......
  • HJ100 等差数列
    1.题目读题HJ100 等差数列  考查点 2.解法思路 等差数列是指从第二项起,每一项与它的前一项的差等于同一个常数的一种数列。这个常数叫做等差数列的公差,公差常用字母d表示。等差数列的通项公式是:an=a1+(n-1)d,其中a1是首项,an是第n项,n是正整数。等差数列的前n项......