【华为OD机试高分必刷题目】神奇的卡片(C++等差数列实现)

🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,高分通过!

文章目录

  • 【华为OD机试高分必刷题目】神奇的卡片(C++等差数列实现)
    • 题目描述
    • 解题思路
    • C++题解代码
    • 代码OJ评判结果
    • 代码讲解
    • 寄语

【华为OD机试高分必刷题目】神奇的卡片(C++等差数列实现)

题目描述

话说学长是公认的天才,他刚一出生的时候就从一堆数字卡片中选出了4张卡片:5,7,6,8!这4个数字有什么神秘之处呢?他发现,如果把这4张卡片自左往右的排成:5,6,7,8,这4个数字就构成了等差数列!当年学长选出了n组卡片,据说都能够构成等差数列。但是事实真的是这样吗?学长真的有这么神奇吗?后台给出的n组数据就是学长选出的n组卡片,请你判断一下每一组卡片是否能构成等差数列!

输入

第一个数为数据的组数n,表示后面有n行,每行中的第一个数为该组数据的元素个数m(1 ≤ m ≤ 100),其后是m个正整数(不会超出int的表示范围)。

输出

如果能够构成等差数列,输出“yes”,否则输出“no”(均不含引号)。

样例输入

2
4 5 7 6 8
8 1 7 3 2 8 12 78 3

亚琼

yes
no

解题思路

解题思路如下:

  • 读取输入的数据组数n。

  • 对于每一组数据,读取元素个数m和m个正整数。

  • 对这m个正整数进行排序。

  • 计算相邻数字的差,检查是否为一个常数。

  • 如果差值是常数,则输出 “yes”;否则,输出 “no”。

通过这个思路,我们利用了等差数列的性质,即相邻数字之差为常数。排序是为了保证数字的顺序,方便计算差值。最终的判断逻辑是通过遍历相邻数字,检查它们的差是否一致。如果一致,说明构成了等差数列,输出 “yes”;否则,输出 “no”。

C++题解代码

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

// 判断是否能构成等差数列的函数
string isArithmeticSequence(vector<int>& nums) {
    if (nums.size() < 3) {
        return "yes";  // 如果元素个数小于3,直接返回 "yes"
    }

    sort(nums.begin(), nums.end());  // 先将数组排序
    int diff = nums[1] - nums[0];  // 计算等差
    for (int i = 2; i < nums.size(); i++) {
        if (nums[i] - nums[i - 1] != diff) {
            return "no";
        }
    }
    return "yes";
}

int main() {
    int n;
    cin >> n;  // 读取输入的数据组数

    // 遍历每一组数据
    for (int k = 0; k < n; k++) {
        int m;
        cin >> m;  // 读取每组数据的元素个数

        // 读取每组数据的元素列表
        vector<int> data(m);
        for (int i = 0; i < m; i++) {
            cin >> data[i];
        }

        // 判断是否构成等差数列并输出结果
        string result = isArithmeticSequence(data);
        cout << result << endl;
    }

    return 0;
}

代码OJ评判结果

评判状态
Accepted
评判状态 (测试)
Accepted
内存
18352KB
用时
447ms
语言
c++
代码长度
1154B
提交时间
2023-11-17 20:00:16
评判时间
2023-11-17 20:00:18

代码讲解

以下是对上述 C++ 代码的详细讲解:

  1. isArithmeticSequence 函数:

    • isArithmeticSequence 是一个用于判断输入的整数向量是否构成等差数列的函数。
    • 如果向量的元素个数小于3,直接返回 “yes”,因为任意两个数字都构成等差数列。
    • 使用 sort 函数对向量进行排序。
    • 计算相邻数字的差,检查是否为一个常数。如果差值是常数,则返回 “yes”;否则,返回 “no”。
  2. 主程序部分:

    • 使用 cin 从标准输入中读取数据。
    • 读取输入的数据组数 n
    • 遍历每一组数据:
      • 读取每组数据的元素个数 m
      • 读取每组数据的元素列表,并存储在整数向量 data 中。
      • 调用 isArithmeticSequence 函数判断是否构成等差数列,并输出结果。

这个 C++ 代码的结构与前述 Python 和 Java 代码类似,通过函数将判断等差数列的逻辑独立出来,提高了代码的可读性和复用性。C++ 使用向量(vector)作为动态数组的数据结构,并使用标准库中的 sort 函数进行排序。

寄语

🚀✨ 朋友,希望你的华为OD机试就像是一场轻松的技术party!愿你的代码如同畅快的音符,跳跃在键盘上,最后弹奏出一曲高分之歌。加油,你是技术舞台上的巨星!通过机试,就像是风轻云淡,轻轻松松就把高分收入囊中。祝愿你的编程之旅一路顺风,破风前行,每一行代码都是成功的注脚!🌈💻

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

虾皮插件能做数据分析的-知虾数据分析插件Shopee大数据分析平台

在如今的电商行业中&#xff0c;数据分析已经成为了一项至关重要的任务。通过对大量数据的收集和分析&#xff0c;企业可以更好地了解市场趋势、了解竞争对手、优化产品和店铺运营等。然而&#xff0c;要想做好数据分析&#xff0c;一个好用的工具是必不可少的。 虾皮插件——知…

ke11介绍本地,会话存储

代码顺序: 1.设置input,捕获input如果有多个用属性选择符例如 input[typefile]点击事件.向我们的本地存储设置键值对 2.在点击事件外面设置本地存储表示初始化的值.点击上面的事件才能修改我们想修改的值 会话(session)浏览a数据可以写到本地硬盘,关闭页面数据就没了 本地(…

2.Pandas数据预处理

2.1 数据清洗 以titanic数据为例。 df pd.read_csv(titanic.csv) 2.1.1 缺失值 &#xff08;1&#xff09;缺失判断 df.isnull() &#xff08;2&#xff09;缺失统计 # 列缺失统计 df.isnull().sum(axis0) # 行缺失统计 df.isnull().sum(axis1) # 统计缺失率 df.isnu…

CC攻击的前身

CC攻击的前身是一个名为Fatboy的攻击程序&#xff0c;而之所以后来人们会称之为CC&#xff0c;是因为DDoS攻击发展的初期阶段&#xff0c;绝大部分DDoS攻击都能被业界熟知的“黑洞”&#xff08;Collapsar,一种安全防护产品&#xff09;所抵挡&#xff0c;CC攻击的诞生就是为了…

会说话,情商高:职场人士必看的情商口才提升攻略

在职场上&#xff0c;口才和情商是非常重要的软实力。能言善辩&#xff0c;与人交流得心应手&#xff0c;往往可以帮助我们更好地完成工作任务&#xff0c;并获得更多的机会和提升。那么&#xff0c;如何才能培养出好的口才和高情商呢?本文将从以下几个方面给大家提供一些建议…

JMeter-BeanShell预处理程序和BeanShell后置处理程序的应用

一、什么是BeanShell&#xff1f; BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器&#xff0c;JMeter性能测试工具也充分接纳了BeanShell解释器&#xff0c;封装成了可配置的BeanShell前置和后置处理器&#xff0c;分别是 BeanShell Pre…

Kafka 集群实现数据同步

Kafka 介绍 Kafka 是一个高吞吐的分布式消息系统&#xff0c;不但像传统消息队列&#xff08;RaabitMQ、RocketMQ等&#xff09;那样能够【异步处理、流量消峰、服务解耦】 还能够把消息持久化到磁盘上&#xff0c;用于批量消费。除此之外由于 Kafka 被设计成分布式系统&…

后端接口性能优化分析-多线程优化

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…

什么是模糊测试?

背景&#xff1a;近年来&#xff0c;随着信息技术的发展&#xff0c;各种新型自动化测试技术如雨后春笋般出现。其中&#xff0c;模糊测试&#xff08;fuzz testing&#xff09;技术开始受到行业关注&#xff0c;它尤其适用于发现未知的、隐蔽性较强的底层缺陷。这里&#xff0…

今天不学习今天写爱心特效HTML代码

效果&#xff1a; 操作过程 首先在桌面创建一个后缀为txt的文件&#xff0c;然后将下面的代码复制进去保存&#xff0c;再将.txt后缀改为html&#xff0c;最后点击这个文件就会出现爱心特效啦~ 具体代码如下&#xff1a; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.…

腾讯云服务器怎么样好用吗?腾讯云服务器好用吗?

大家好&#xff01;今天我们要来聊聊腾讯云服务器怎么样&#xff0c;好用吗&#xff1f;对于这个问题&#xff0c;我的答案是非常肯定的——好用&#xff01; 那么&#xff0c;腾讯云服务器究竟好在哪里呢&#xff1f; 首先&#xff0c;它的功能非常强大。它不仅能够提供云存…

通讯协议学习之路(实践部分):IIC开发实践

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 本文…

.Net 8正式发布

Net 8是官方号称有史以来性能最快的一个版本了。 .Net 8 增加了数以千计的性能、稳定性和安全性改进&#xff0c;以及平台和工具增强功能&#xff0c;有助于提高开发人员的工作效率和创新速度。 反正就是快&#xff0c;性能好、工作效率更高&#xff01; 这个版本&#xff0c…

防抖-节流-深拷贝-事件总线

一、防抖与节流 1.认识防抖与节流函数 防抖和节流的概念其实最早并不是出现在软件工程中&#xff0c;防抖是出现在电子元件中&#xff0c;节流出现在流体流动中 而JavaScript是事件驱动的&#xff0c;大量的操作会触发事件&#xff0c;加入到事件队列中处理。而对于某些频繁…

MySQL使用Xtrabackup恢复全量备份

1、下载之前的备份的全量压缩包 我使用的是备份到AWS存储桶,实验删数数据之前&#xff0c;我做了一次全量备份。 1.1 解压加密的压缩包到指定的目录 由于备份使用的是加密压缩包&#xff0c;现在解压也要用密码解压 解压格式&#xff1a; openssl enc -aes-256-cbc -d -p…

免费!IDEA插件推荐:Apipost-Helper

今天给大家推荐一款IDEA插件&#xff1a;Apipost-Helper-2.0&#xff0c;写完代码IDEA内一键生成API文档&#xff0c;无需安装、打开任何其他软件&#xff1b;写完代码IDEA内一键调试&#xff0c;无需安装、打开任何其他软件&#xff1b;生成API目录树&#xff0c;双击即可快速…

15项基本SCADA技术技能

1. 人机界面 人机界面是将操作员连接到设备、系统或机器的仪表板或用户界面。 以下是 hmi 在 scada 技术人员简历中的使用方式&#xff1a; 完成了查尔斯湖废水处理厂和提升站的完整 HMI 图形界面。对加油系统、加油车、PLC、HMI、触摸屏进行故障排除和维修。对 Horner HMI …

初识Scrapy:Python中的网页抓取神器

Scrapy是一个基于Python的快速、高层次的屏幕抓取和web抓取框架&#xff0c;用于抓取web站点并从页面中提取结构化的数据。它广泛应用于数据挖掘、监测和自动化测试等领域。Scrapy的强大之处在于它是一个框架&#xff0c;可以根据实际需求进行修改和扩展。 Scrapy的主要特点 …

1.rk3588的yolov5运行:pt_onnx_rknn转换及rknn在rk3588系统python运行

自己有点笨&#xff0c;查资料查了一周才完美的实现了yolov5在rk3588环境下的运行&#xff0c;在这里写具体步骤希望大家少走弯路。具体步骤如下&#xff1a; 一、yolov5的原代码下载及pt文件转换为onnx文件 1.yolov5的原代码下载及环境搭建 在这里一定要下载正确版本的源代码…

国家药品价格查询官网-在线网站查询方法

查询药品上市价格对于个人和机构来说都是非常有必要的&#xff0c;对个人可以很好的验证该药品是否存在虚高的情况&#xff0c;对药企来说可以根据同类药品市场价格指导自产药品的定价&#xff0c;对其它机构来说了解药品价格可以帮助选择价格合理的药品供应商&#xff0c;降低…