华为OD机试真题 JavaScript 实现【检查是否存在满足条件的数字组合】【2022Q4 100分】

news2024/10/5 13:50:05

在这里插入图片描述

一、题目描述

给定一个正整数数组,检查数组中是否存在满足规则的数字组合

规则:A = B + 2C

二、输入描述

第一行输出数组的元素个数。

接下来一行输出所有数组元素,用空格隔开。

三、输出描述

如果存在满足要求的数,在同一行里依次输出规则里A/B/C的取值,用空格隔开。

如果不存在,输出0。

四、解题思路

  1. 读取输入的数组元素个数n;
  2. 读取数组元素并存储在数组arr中;
  3. 对数组arr进行排序,可以使用快速排序算法,将数组元素按非递减顺序排列;
  4. 初始化变量flag为false,用于标记是否找到满足规则的数字组合;
  5. 使用双重循环遍历数组arr中的元素,假设当前元素为arr[i],并且设定arr[i]为A,寻找满足规则的B和C。
    • 内层循环遍历数组arr中的元素,假设当前元素为arr[j],并且设定arr[j]为B。
    • 计算C的值,C = (A - B) / 2。
    • 从当前位置j+1开始遍历数组arr,寻找是否存在满足arr[k] = C的元素。
    • 如果找到满足条件的C,输出A/B/C的取值,并将flag设置为true,然后结束循环。
  6. 如果在内层循环结束后仍未找到满足规则的数字组合,继续外层循环,遍历下一个元素。
  7. 如果所有元素都遍历完毕仍未找到满足规则的数字组合,则输出0。

该算法通过排序数组并使用双重循环遍历的方式来查找满足规则A = B + 2C的数字组合。在每一轮内层循环中,计算C的值并在后续遍历中查找是否存在相等的元素。算法的时间复杂度为O(n^2),其中n为数组的长度。

五、JavaScript算法源码

function calculate(arr) {
    const n = arr.length;
    arr.sort((a, b) => a - b);
    let flag = false;
    for (let i = 0; i < n - 1; i++) {
        for (let j = 0; j < n - 1; j++) {
            if (j === i) continue;
            const sum = arr[i] + arr[j] * 2;
            if (sum > arr[n - 1]) break;
            const max = Math.max(i, j);
            for (let k = max + 1; k < n; k++) {
                if (sum === arr[k]) {
                    console.log(arr[k], arr[i], arr[j]);
                    flag = true;
                    break;
                }
            }
            if (flag) break;
        }
        if (flag) break;
    }
    if (!flag) {
        console.log(0);
    }
}

六、效果展示

10 = 4 + 2*3

在这里插入图片描述


🏆下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

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

相关文章

Vue:全选多个选择框

可以使用 v-model 来绑定一个布尔类型的变量来实现全选多个选择框的功能。具体步骤如下&#xff1a; 在data中定义一个数组&#xff0c;用来存储所有需要选择的项的状态。 在模板中使用 v-for 指令循环渲染每个选择框&#xff0c;并将每个选择框的状态绑定到数组中对应的项上。…

从VALSE 2023看近期人工智能的研究热点

VALSE发起于2011年&#xff0c;是Vision And Learning SEminar的简写&#xff0c;取法语“华尔兹舞”之意&#xff0c;中文名称为视觉与学习青年学者研讨会。VALSE为计算机视觉、图像处理、模式识别与机器学习研究领域的华人青年学者提供了一个自由、平等、低成本的深度学术交流…

Postgresql源码(106)Generic Plan与Custom Plan的区别(以分区表为例)

相关&#xff1a; 《Postgresql源码&#xff08;105&#xff09;分区表剪枝代码分析》 《Postgresql源码&#xff08;106&#xff09;Generic Plan与Custom Plan的区别&#xff08;以分区表为例&#xff09;》 实例 CREATE TABLE measurement (city_id int not null,l…

MariaDB数据库的主从配置

1、前置工作 首先准备两台可以互相ping通的机器&#xff0c;两台机器可以互为主从&#xff0c;示例&#xff1a;10.210.23.77主服务器 10.20.84.183从服务器 2、安装 在两台机器上各自安装数据 解压MariaDB安装包&#xff1b; tar zxvf MariaDB.tgz cd mariadb 安装Mari…

上海市计算机学会竞赛平台比赛组卷

思路&#xff1a;桶排序开出长度为1e55的桶&#xff0c;然后从后向前遍历&#xff0c;对与桶是2的值输出桶的序号即可~~&#xff08;我用的哈希排序&#xff09;~~ 代码&#xff1a; #include <bits/stdc.h>using namespace std; const int N 1e5 5; map<int ,int…

docker 安装sqlserver数据库并开启代理(保姆级)

-目录- 一、安装docker二、安装sqlserver数据库2.1 从 Microsoft 容器注册表中请求 SQL Server 2022 (16.x) Linux 容器映像。2.2 要使用 Docker 运行 Linux 容器映像&#xff0c;可以从 Bash Shell 或提升的 PowerShell 命令提示符使用以下命令2.3 要查看 Docker 容器&#xf…

Linux进程间通信 - 命名管道

在之前的文章中我们讲述了匿名管道的原理的以及对应的简单的两个小例子&#xff0c;在本文中&#xff0c;我们将来继续管道的学习 -- 命名管道。 命名管道 管道应用的一个限制就是只能在具有共同祖先&#xff08;具有亲缘关系&#xff09;的进程间通信。如果我们想在不相关的…

自动化测试如何做?接口自动化测试如何才能做好?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 接口自动化测试常…

大话设计模式——中介者

5. 中介者&#xff08;Mediator&#xff09; Intent 集中相关对象之间复杂的沟通和控制方式。 Class Diagram Mediator&#xff1a;中介者&#xff0c;定义一个接口用于与各同事&#xff08;Colleague&#xff09;对象通信。Colleague&#xff1a;同事&#xff0c;相关对象…

「轻解压」怎么解?小红书用户画像告诉你

“轻养生”、“轻运动”……一个“轻”字&#xff0c;高度概括了如今年轻人面对生活的态度。今年&#xff0c;「轻解压」成为新的主题词&#xff0c;被广泛提及。 相比传统解压方式&#xff0c;轻解压更讲究愉悦感和生活感。用户通过围观开榴莲、沉浸式收纳等看似与解压毫无关…

MySQL数据库+增删改查

文章目录 MySQL数据库1 基本概念2 数据库系统2.1 操作数据库2.2 分类2.3 常见数据类型 3 SQL语句3.1 DDL3.1.1 创建数据库3.1.2 创建表3.1.3 删除数据库3.1.4 删除表3.1.5 查看所有数据库3.1.6 查看数据表 3.2 DML3.2.1 插入数据3.2.2 删除数据3.2.3 更新数据 3.3 DQL3.3.1 显示…

项目管理专业人员能力评价(CSPM)相关问题汇总,看这篇就够了!

问题导览&#xff1a; 1、国标项目管理&#xff08;项目管理专业人员能力评级&#xff09;证书是什么&#xff1f; 2、国标项目管理&#xff08;项目管理专业人员能力评级&#xff09;证书有几级&#xff1f; 3、项目管理专业人员能力等级证书的价值&#xff08;含金量&#…

2023年年度最佳配色就是它-我已经为大家配好了色卡,还不快来用?

洋红或者又称为胭脂红 今年的「洋红万岁」,PANTONE 称其是[非常规时代的非常规红] 它源自 PANTONE 的红色家族,灵感来自一种叫胭脂虫的小昆虫,在色轮上介于红色和粉红色之间,是天然染料家族中最珍贵的染料之一,也是世界上已知的最浓烈、最明亮的染料之一。 据 PANTONE …

oxygen技术文档编写教程

CSS样式 https://www.oxygenxml.com/doc/versions/24.1/ug-editor/topics/dg-css-stylesheet.html &#xff08;其他参考链接&#xff1a;https://zhuanlan.zhihu.com/p/480000063&#xff09; 插件 https://www.oxygenxml.com/addons.html 官方template https://styles.o…

量子网络商业化的时代来了吗?

光子盒研究院 现在&#xff0c;一个利用量子“纠缠”在遥远的用户之间编织亲密联系的全球网络正在开始形成。 ——田纳西州的这个城市曾推出美国第一个全市范围的千兆比特互联网服务。现在&#xff0c;它将推出全美第一个商业化的量子网络。 2010年&#xff0c;查塔努加市因“成…

双功能螯合剂:MeTz-PEG11-NOTA,甲基四嗪十一聚乙二醇NOTA,试剂有哪些特点?

产品描述&#xff1a; MeTz-PEG11-NOTA&#xff08;甲基四嗪-PEG11-NOTA&#xff09;通过PEG进行连接两端甲基四嗪和NOTA&#xff0c;其中亲水性PEG间隔臂提供了一个长而灵活的连接&#xff0c;一定限度地减少了与含四嗪的复合分子连接有关的空间位阻。NOTA及其衍生物具有良好的…

安装PowerDesigner

安装PowerDesigner&#xff08;文章附上安装所需要的安装包&#xff09; 环境&#xff1a;windows10操作系统、PowerDesigner16.5版 1、双击PowerDesigner16.5安装包进行安装 选择Trial&#xff0c;再点击Next&#xff0c;别选错哈 选择hongkong&#xff0c;并且点击agree …

64G超大容量内存条599,光威天策DDR4 32×2原地起飞

- 光威天策DDR4 64G套装&#xff0c;599元享受极速体验 - 599元升级64G内存&#xff0c;光威天策DDR4给你惊喜 - 光威天策DDR4 64G内存条&#xff0c;简约外观&#xff0c;强劲性能 - 超值618&#xff0c;光威天策DDR4 64G内存条&#xff0c;速度快&#xff0c;散热好 很多热爱…

企业想要搭建CRM平台该如何操作?

如今&#xff0c;企业数字化转型的浪潮依然汹涌。而CRM客户管理平台是企业实现数字化转型&#xff0c;提升市场竞争力的重要工具。那么&#xff0c;企业如何搭建CRM客户管理平台&#xff1f;下面我们就这个问题来说一下。 一、明确业务目标和需求 企业需要明确业务目标&#…

在 Blender、ZBrush 和 Substance 3D Painter 中创建幻想角色

今天瑞云渲染小编给大家带来一篇关于Obafunso Dorgu 作者Serenity 项目背后的工作流程&#xff0c;告诉我们这些衣服是如何在 Marvelous Designer 中制作的&#xff0c;并提到了设置逼真的头发的重要事项。 介绍 大家好&#xff0c;我叫Obafunso Dorgu&#xff0c;我是一名自…