当前位置: 首页 > news >正文

每日一练-等差数列

等差数列

        • 🍀题目描述
        • 🌿解题思路
        • 🌸Python源码
        • 📧Summary


📆Date: 2023年2月10日
🎬Author: 小 y 同 学
📃Classify: 蓝桥杯每日一练
🔖Language: Python


🍀题目描述

  • 题意
      数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。
      现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?

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

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

  • 样例输入

5
2 6 4 10 20
  • 样例输出
10
  • 样例说明
      包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、18、20。

  • 评测用例规模与约定
      对于所有评测用例,2 ≤ N ≤ 100000,0 ≤ Ai ≤ 109。


🌿解题思路

  • 题目梳理
      题目会给出一串数字,我们需要做的就是找出包含这些数字的等差数列,且这个等差数列的项数最小,注意我们要输出的是等差数列的项数,不是等差数列的元素或者其求和。
  • 核心处理
      首先给出的数字串是没有顺序的,我们首先肯定是想到将给出的数字排序。然后我们要做的就是寻找公差:起初小y想的是排序完的数组每相邻两项做差,然后最小的就是公差,但是仔细一想:如果排序完的数组中的相邻两项差一个是2,一个是3:例如数组:1、3、6;要想组成等差数列,必须以1为公差;随后就想到了取2和3的最大公因数也就是1来作为公差;同样的思路,就可以类比出给出的任意数列对应的公差。随后就是求项数,给出的数列最小的和最大的一定是等差数列的首尾项,我们可以由an=a1+(n−1)×da_n=a_1+(n-1)\times dan=a1+(n1)×d推导出n=an−a1d+1n=\frac{a_n - a_1}{d}+1n=dana1+1,但是我们要注意d为0的情况分开讨论!

🌸Python源码

# _*_coding:utf-8_*_
# created by cy on 2023/2/10
import math# 求最大公因数
def gcd_many(li, n):
g = 0
for i in range(n):if i == 0:g = li[i]else:g = math.gcd(g, li[i])
return gn = int(input())
A = list(map(int, input().split()))
A.sort()
d_li = []
for i in range(n - 1):
d_li.append(A[i + 1] - A[i])
if min(d_li) == 0:  # 公差为0的情况
print(n)
else:
d = gcd_many(A, n)
print(int((A[-1] - A[0]) / d + 1))

📧Summary

  小y的今日一练到此画上了句号,欢迎友友们多给建议🌼🌼🌼
  有兴趣一起学习编程的小伙伴可以私聊小y一起学习,小y在Python,c/c++和matlab语言上均有一定的基础😜😜😜


欢迎您的点赞👍+收藏🎁+关注❤ 😁😁😁

相关文章:

每日一练-等差数列

等差数列🍀题目描述🌿解题思路🌸Python源码📧Summary📆Date: 2023年2月10日 🎬Author: 小 y 同 学 📃Classify: 蓝桥杯每日一练 🔖Language: Python 🍀题目描述 题意   …...

使用动态参数构建CUDA图

文章目录使用动态参数构建CUDA图使用显式 API 调用构建 CUDA 图使用流捕获构建 CUDA 图组合方法执行结果总结使用动态参数构建CUDA图 自从在 CUDA 10 以来,CUDA Graphs 已被用于各种应用程序。 上图将一组 CUDA 内核和其他 CUDA 操作组合在一起,并使用指…...

在Fortran中调用Python教程

前言Python是机器学习领域不断增长的通用语言。拥有一些非常棒的工具包,比如scikit-learn,tensorflow和pytorch。气候模式通常是使用Fortran实现的。那么我们应该将基于Python的机器学习迁移到Fortran模型中吗?数据科学领域可能会利用HTTP AP…...

04-PS人像磨皮方法

1.高斯模糊磨皮 这种方法的原理就是建立一个将原图高斯模糊后图层, 然后用蒙版加画笔或者历史画笔工具将需要磨皮的地方涂抹出来, 通过图层透明度, 画笔流量等参数来控制磨皮程度 1.新建图层(命名为了高斯模糊磨皮), 混合模式设置为正常, 然后选择高斯模糊, 模糊数值设置到看…...

nginx反向代理+负载均衡上传webshell重难点+apache漏洞

nginx反向代理 nginx 负载均衡 负载均衡的策略 1、轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB… upstream mysvr { server 192.168.137.131; server 192.168.137.136; }2、weight:跟据配置…...

transition组件的使用

<template><button click"flag !flag">切换</button><transition name"fade"><div v-if"flag" class"box"></div></transition> </template><script setup lang"ts"&g…...

多行文本在块元素中垂直居中

单行文本垂直居中对齐 在块元素中&#xff0c;让单行文本居中&#xff0c;可以使用line-height等于块元素的高&#xff0c;即可让该单行文本垂直居中对齐。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…...

在 WebAssembly 中使用 C/C++ 和 libbpf 编写 eBPF 程序

作者&#xff1a;于桐&#xff0c;郑昱笙 eBPF&#xff08;extended Berkeley Packet Filter&#xff09;是一种高性能的内核虚拟机&#xff0c;可以运行在内核空间中&#xff0c;用来收集系统和网络信息。随着计算机技术的不断发展&#xff0c;eBPF 的功能日益强大&#xff0c…...

leveldb源码解析六——compact

compact分为manual_compaction、minor_compaction、major_compaction&#xff0c;统一由MaybeScheduleCompaction触发&#xff1a; void DBImpl::MaybeScheduleCompaction() {mutex_.AssertHeld();if (background_compaction_scheduled_) {// Already scheduled} else if (shu…...

数据结构(二):单向链表、双向链表

数据结构&#xff08;二&#xff09;一、什么是链表1.数组的缺点2.链表的优点3.链表的缺点4.链表和数组的区别二、封装单向链表1. append方法&#xff1a;向尾部插入节点2. toString方法&#xff1a;链表元素转字符串3. insert方法&#xff1a;在任意位置插入数据4.get获取某个…...

COCO物体检测评测方法简介

本文从ap计算到map计算&#xff0c;最后到coco[0.5:0.95:0.05] map的计算&#xff0c;一步一步拆解物体检测指标map的计算方式。 一、ap计算方法 一个数据集有多个类别&#xff0c;对于该数据库有5个gt&#xff0c;算法检测出来10个bbox&#xff0c;对于人这个类别来说检测有…...

记一次上环境获取资源失败的案例

代码结构以及资源位置 测试代码 RestController RequestMapping("/json") public class JsonController {GetMapping("/user/1")public String queryUserInfo() throws Exception {// 如果使用全路径, 必须使用/开头String path JsonController.class.ge…...

实战超详细MySQL8离线安装

在RedHat中&#xff0c;RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装&#xff0c;包全。官网下载&#xff1a;https://dev.mysql.com/downloads/mysql/1.卸载mariadb&#xff0c;会与MySQL安装冲突。rpm -qa | grep mariadb 查看有无mariadb如果有&#xff0…...

依赖倒置原则|SOLID as a rock

文章目录 意图动机:违反依赖倒置原则解决方案:C++中依赖倒置原则的例子依赖倒置原则的优点1、可复用性2、可维护性在C++中用好DIP的标准总结本文是关于 SOLID as Rock 设计原则系列的五部分中的 最后一部分。 SOLID 设计原则侧重于开发 易于维护、可重用和可扩展的软件。 在…...

Webpack的知识要点

在前端开发中&#xff0c;一般情况下都使用 npm 和 webpack。   npm是一个非常流行的包管理工具&#xff0c;帮助开发者管理项目中使用的依赖库和工具。它可以方便地为项目安装第三方库&#xff0c;并在项目开发过程中进行版本控制。   webpack是一个模块打包工具&#xff…...

handler解析(2) -Handler源码解析

目录 基础了解&#xff1a; 相关概念解释 整体流程图&#xff1a; 源码解析 Looper 总结&#xff1a; sendMessage 总结&#xff1a; ThreadLocal 基础了解&#xff1a; Handler是一套 Android 消息传递机制,主要用于线程间通信。实际上handler其实就是主线程在起了一…...

【算法】kmp

KMP算法 名称由来 是由发明这个算法的三个科学家的名称首字母组成 作用 用于字符串的匹配问题 举例说明 字符串 aabaabaaf 模式串 aabaaf 传统匹配方法 第一步 aabaabaaf aabaaf 此时&#xff0c;b和f不一致&#xff0c;则把模式串从头和文本串的第二个字符开始比 第…...

git 常用命令之 git checkout

大家好&#xff0c;我是 17。 git checkout 是 git 中最重要最常用的命令之一&#xff0c;本文为大家详细解说一下。 恢复工作区 checkout 的用途之一是恢复工作区。 git checkout . checkout . 表示恢复工作区的所有更改,未跟踪的文件不会有变化。 恢复工作区的所有文件风…...

一些常见错误

500状态码: 代表服务器业务代码出错, 也就是执行controller里面的某个方法的过程中报错, 此时在IDEA的控制台中会显示具体的错误信息, 所以需要去看IDEA控制台的报错404状态码: 找不到资源找不到静态资源 检查请求地址是否拼写错误 检查静态资源的位置是否正确 如果以上都没有问…...

[单片机框架][调试功能] 回溯案发现场

程序莫名死机跑飞&#xff0c;不知道问题&#xff0c;那么下面教你回溯错误源 回溯案发现场一、修改HardFault_Handler1. xx.s 在启动文件&#xff0c;找到HardFault_Handler。并修改。2. 定义HardFault_Handler_C函数。&#xff08;主要是打印信息并存储Flash&#xff09;3. 根…...

MySQL主从同步-(二)搭建从机服务器

在docker中创建并启动MySQL从服务器&#xff1a;**端口3307docker run -d \-p 3307:3306 \-v /atguigu/mysql/slave1/conf:/etc/mysql/conf.d \-v /atguigu/mysql/slave1/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD123456 \--name atguigu-mysql-slave1 \mysql:8.0.3创建MyS…...

Linux系列 备份与分享文档

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.备份与分享文档 1.使用压缩和解压缩工具 &#xff08;1&…...

SNI生效条件 - 补充nginx-host绕过实例复现中SNI绕过的先决条件

文章目录1.前置环境搭建2.测试SNI生效条件(时间)3. 证书对SNI的影响3.1 双方使用同一个证书&#xff1a;3.2 双方使用不同的证书与私钥4. 端口号区分测试4.1 端口号区分&#xff0c;证书区分&#xff1a;4.2 端口号区分,证书不区分&#xff1a;5.总结SNI运行机制6. SNI机制绕过…...

傻白探索Chiplet,Modular Routing Design for Chiplet-based Systems(十一)

阅读了Modular Routing Design for Chiplet-based Systems这篇论文&#xff0c;是关于多chiplet通信的&#xff0c;个人感觉核心贡献在于实现了 deadlock-freedom in multi-chiplet system&#xff0c;而不仅仅是考虑单个intra-chiplet的局部NoC可以通信&#xff0c;具体的一些…...

C语言静态库、动态库的封装和注意事项

1、动态库、静态库介绍 参考博客&#xff1a;《静态库和动态库介绍以及Makefile》&#xff1b; 2、代码目录结构和编译脚本 参考博客&#xff1a;《实际工作开发中C语言工程的目录结构分析》&#xff1b; 3、编写库的流程 (1)明确需求:需求是否合理、需求的使用场景、需求可能遇…...

MyBatis-Plus分页插件和MyBatisX插件

MyBatis-Plus分页插件和MyBatisX插件六、插件1、分页插件a>添加配置类b>测试八、代码生成器1、引入依赖2、快速生成十、MyBatisX插件1、新建spring boot工程a>引入依赖b>配置application.ymlc>连接MySQL数据库d>MybatisX逆向生成2、MyBatisX快速生成CRUD申明…...

年前无情被裁,面试大厂的这几个月…

2月份了&#xff0c;金三银四也即将来临&#xff0c;在这个招聘季&#xff0c;大厂也开始招人&#xff0c;但还是有很多人吐槽说投了很多简历&#xff0c;却迟迟没有回复… 另一面企业招人真的变得容易了吗&#xff1f;有企业HR吐槽&#xff0c;简历确实比以前多了好几倍&…...

基于Java的分片上传功能

起因&#xff1a;最近在工作中接到了一个大文件上传下载的需求&#xff0c;要求将文件上传到share盘中&#xff0c;下载的时候根据前端传的不同条件对单个或多个文件进行打包并设置目录下载。 一开始我想着就还是用老办法直接file.transferTo(newFile)就算是大文件&#xff0c…...

KDS安装步骤

KDS kinetis design studio 软件 第一步官网(https://www.nxp.com/ 注册账号下载set成功下载软件。 随着AI&#xff0c;大数据这些技术的快速发展&#xff0c;与此有关的知识也普及开来。如何在众多网站中寻找最有价值的信息&#xff0c;如何在最短的时间内获得最新的技…...

JavaSE-线程池(1)- 线程池概念

JavaSE-线程池&#xff08;1&#xff09;- 线程池概念 前提 使用多线程可以并发处理任务&#xff0c;提高程序执行效率。但同时创建和销毁线程会消耗操作系统资源&#xff0c;虽然java 使用线程的方式有多种&#xff0c;但是在实际使用过程中并不建议使用 new Thread 的方式手…...

通过网站编辑发稿是怎么做的/今日最新财经新闻

springboot打包 mvn clean package -Dmaven.test.skiptrue // 忽略测试进行打包。测试代码不会影响项目发布&#xff0c;但是会影响项目的打包。Linux更新springboot项目的jar包 netstat -tunlp | grep 8080 该命令为查看指定端口的进程&#xff0c;8080换成jar包运行的指定端…...

网站导航为什么用ul列表做/搜收录批量查询

题目描述 输入N&#xff0c;求N&#xff01;末尾的第一个非零数字。如6 ! 720&#xff0c;因此6的阶乘末尾的非零位是2。 输入描述: 仅一行&#xff0c;包含一个整数N&#xff08;0<N<10,000,000&#xff09; 输出描述: 仅一行&#xff0c;包含一个整数&#xff0c…...

做网站需要哪些东西/东莞网站建设推广品众

未经博主同意&#xff0c;禁止瞎JB转载。 LeetCode20有效的括号 https://leetcode-cn.com/problems/valid-parentheses/description/ 我的解法&#xff1a; 示例如下&#xff1a; 利用了栈的思想&#xff0c;使用两个列表实现配对&#xff0c;与官方提供的解答是一样的&#xf…...

昆明网站建设公司哪家好/营销软件有哪些

php.ini更改后的处理方法&#xff1a;首先通过“post_max_size 100M”语句修改上传大小限制&#xff1b;然后通过“memory_limit 128M”语句修改上传时间限制&#xff1b;最后重启服务器即可。大文件上传&#xff0c;修改php.ini的配置之后仍不生效解决方法今天把程序放到服务…...

贵州快速整站优化/网站优化推广seo

一、同一包里面模块的调用 1、模块的概念 1&#xff09;一般的行数--500到800行 2&#xff09;一个xxx.py文件就称为一个模块&#xff08;module&#xff09; 2、模块化的其他好处 1&#xff09;以库的形式封装功能&#xff0c;方便给别的代码调用。 a、库其实就是模块和包 b、…...

专做眼镜批发的网站/百度免费推广

学习资源推荐 微信扫码关注公众号 &#xff1a;前端前端大前端&#xff0c;追求更精致的阅读体验 &#xff0c;一起来学习啊关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程 var obj{1:222, 2:123, 5:888}// var expect[222, 123, null, null, 888,…...