华为OD机试真题 整数对最小和 JavaScript java python c++ 参考解题

2023-11-09

题目描述

给定两个整数数组 array1 array2
数组元素按升序排列
假设从array1 array2中分别取出一个元素可构成一对元素
现在需要取出K个元素
并对取出的所有元素求和
计算和的最小值
注意:
两对元素如果对应于array1 array2中的两个下标均相同,则视为同一个元素

输入描述

输入两行数组array1 array2
每行首个数字为数组大小 size0 < size <= 100)
0 < array1(i) <= 10000 < array2(i) <= 1000
接下来一行为正整数k (0 < k <= array1.size() * array2.size())

输出描述

满足要求的最小和

示例一

输入

3 1 1 2
3 1 2 3
2

输出

4

c++

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

using namespace std;

int main() {
    int size1, size2;
    cin >> size1;
    vector<int> array1(size1);
    for (int i = 0; i < size1; i++) {
        cin >> array1[i];
    }

    cin >> size2;
    vector<int> array2(size2);
    for (int i = 0; i < size2; i++) {
        cin >> array2[i];
    }

    int k;
    cin >> k;

    vector<int> sums;
    for (int i = 0; i < size1; i++) {
        for (int j = 0; j < size2; j++) {
            sums.push_back(array1[i] + array2[j]);
        }
    }

    sort(sums.begin(), sums.end());

    int result = 0;
    for (int i = 0; i < k; i++) {
        result += sums[i];
    }

    cout << result << endl;

    return 0;
}

python

size1, *array1 = map(int, input().split())
size2, *array2 = map(int, input().split())
k = int(input())

sums = []
for i in range(size1):
    for j in range(size2):
        sums.append(array1[i] + array2[j])

sums.sort()

result = 0
for i in range(k):
    result += sums[i]

print(result)

java

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int size1 = scanner.nextInt();
        int[] array1 = new int[size1];
        for (int i = 0; i < size1; i++) {
            array1[i] = scanner.nextInt();
        }

        int size2 = scanner.nextInt();
        int[] array2 = new int[size2];
        for (int i = 0; i < size2; i++) {
            array2[i] = scanner.nextInt();
        }

        int k = scanner.nextInt();

        List<Integer> sums = new ArrayList<>();
        for (int i = 0; i < size1; i++) {
            for (int j = 0; j < size2; j++) {
                sums.add(array1[i] + array2[j]);
            }
        }

        Collections.sort(sums);

        int result = 0;
        for (int i = 0; i < k; i++) {
            result += sums.get(i);
        }

        System.out.println(result);
    }
}

js

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

let size1, size2, array1, array2, k;

rl.on('line', (line) => {
    if (!size1) {
        [size1, ...array1] = line.split(' ').map(Number);
    } else if (!size2) {
        [size2, ...array2] = line.split(' ').map(Number);
    } else if (!k) {
        k = Number(line);

        const sums = [];
        for (let i = 0; i < size1; i++) {
            for (let j = 0; j < size2; j++) {
                sums.push(array1[i] + array2[j]);
            }
        }

        sums.sort((a, b) => a - b);

        let result = 0;
        for (let i = 0; i < k; i++) {
            result += sums[i];
        }

        console.log(result);

        rl.close();
    }
});

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为OD机试真题 整数对最小和 JavaScript java python c++ 参考解题 的相关文章

  • 如何获取正在访问 ASP.NET 应用程序的当前用户?

    为了获取系统中当前登录的用户 我使用以下代码 string opl System Security Principal WindowsIdentity GetCurrent Name ToString 我正在开发一个 ASP NET 应用程
  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 重载<<的返回值

    include
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • 硬件工程师-MOS管

    目录 DS等效电阻 Rdson MOS管 GS电容 MOS管的损耗 MOS管体二极管 讨论MOSFET的GS电容问题 MOSFET的GS电容对管子开通特性的影响 MOS管GS下拉电阻 MOS管的等效模型 MOSFET是如何进行导通的 Rds
  • OpenCV-Python 图像平滑处理1:卷积函数filter2D详解及用于均值滤波的案例

    一 图像平滑处理简介 图像平滑处理属于图像空间滤波的一种 用于模糊处理和降低噪声 模糊处理经常用于图像预处理任务中 例如在 大 目标提取之前去除图像中的一些琐碎细节 以及桥接直线或曲线的缝隙 模糊处理后的图像 可以通过阈值处理 形态处理等方
  • 线性稳压芯片LR78L05U参数

    属性 参数值 商品目录 线性稳压芯片 输出电流 100mA 稳压器数 1 输出类型 Fixed 压降 最大值 1 7V 40mA 工作温度 55 125 工作电源电流 最大值 6 1mA 输入电压 最大值 30V 输出配置 Positive
  • Unity 在编辑模式下退出游戏

    实现在编辑器环境下退出编辑器 在非编译器环境下退出游戏 我们需要判断当前是否在编辑器环境中 在unity中是使用预处理的方式判断当前的环境 常用的预处理标识符如下 标识符 解释 UNITY EDITOR 只在编辑器中编译 UNITY AND
  • el-popover 通过js手动控制弹出框显示、隐藏

    el popover 通过js手动控制弹出框显示 隐藏 说明 element ui 2 x中 el popover的显示隐藏有4种触发方式 click focus hover manual 分别是点击 聚焦 悬浮 手动 正常情况这几个触发方
  • 总结/笔记-逻辑函数封装

    逻辑函数拆分业务 将同一组件中独立的业务代码通过函数做封装处理 提高代码的可维护性 步骤 1 命名函数 use业务名 js 2 用函数封装业务逻辑 3 函数内 return 数据 方法 4 组件中 调用函数使用 封装业务逻辑函数 compo
  • java文件名命名的规则,Java文件名及其他命名规则

    http bbs csdn net topics 70157841 关于JAVA源文件命名的问题 Java文件命名 java程序是由类组成的 java应用程序必须有一个包含main方法的public类 main方法是程序的入口 java源文
  • UncaughtExceptionHandler加Process 让应用程序不异常崩溃退出

    我们在开发应用程序时难免会遇到出现没有被try catch抓住的RunTimeException信息 从而导致程序异常崩溃退出 大大的影响了用户体验 那么有没有什么方法能避免这一现象呢 网上一查资料 果然有 UncaughtExceptio
  • 延迟渲染到最终结果---大象无形(11.3.1)--2,PrePass预处理阶段--<2>大致工作流程

    正如上文所言 对静态物体和动态物体分别处理 一 静态物体 1 设置渲染状态 只计算像素深度 不计算颜色 具体内容是 关闭颜色写入 打开深度测试与深度写入 2 渲染三个绘制列表 1 只绘制深度的列表PositionOnlyDepthDrawL
  • java 内存同步_Java同步的内存影响

    小编典典 简而言之 就是 JSR 133的解释太过分了 这不是一个严重的问题 因为JSR 133是非规范性文档 不属于语言或JVM标准 而是 只有文档解释了一种可能的策略 该策略 足以 实现内存模型 但通常不是 必需的 最重要的是 有关 缓
  • java:变量(二)变量的基本类型

    二 整型与浮点型细节 1 组成 整型变量是由符号位和数位两部分组成 浮点变量是由符号位 指数尾 尾数位组成 整型和浮点型变量的首位都是符号位 用来表示数据的正负 2 整型浮点型变量的长度和取值范围是固定的 事实上同一语言的基本数据类型的长度
  • 云优化:您需要知道的一切

    在不考虑云优化的情况下将开发工作迁移到云端有点类似于吃 PB J 花生酱 果酱 三明治 只不过没有果酱 虽然花生酱已经够美味了 但您错过了把这一切结合在一起的要素 如果您想确保最大限度地利用您的云支出并消除任何可能拖慢速度的低效率事项 那么
  • 在idea中集成redis

    https www cnblogs com yiMro p 13529150 html SpringBoot Redis 基本配置及使用 Test public void TestRedis Jedis jedis new Jedis 19
  • [docker学习笔记] 11.docker网络模式及容器间网络通信

    docker的容器之间需要进行业务通信 11 1 默认网络 初始安装docker 之后 有三种网络 可以通过 docker network ls 查看 root localhost docker network ls NETWORK ID
  • 常用校验码(奇偶校验码、海明校验码、CRC校验码)

    常用校验码 奇偶校验码 海明校验码 CRC校验码 一 奇偶校验码二 海明校验码三 CRC校验码 计算机系统运行时 各个部之间要进行数据交换 交换的过程中 会有发生误码的可能 即0变成1或1变成0 由于计算机的储存是通过二进制代码来实现的的
  • C#连接云服务器MySql数据库

    环境 vs2017 第一步 在主窗口代码区新建一个类 用于连接数据库 在开发过程中其他窗口 常常也需要 对数据库进行操作 如果在每一个窗口的代码区域都连接一次数据库的话 就会很麻烦 所以在主窗口先用一个公共类连接了数据库 其他窗口就可以直接
  • go 进阶 请求代理相关: 一. 基于原生HTTP实现请求代理

    目录 一 代理基础概念了解 什么是正向代理 什么是反向代理 二 基于原生HTTP实现代理 简单正向代理示例 简单反向代理示例 上方代理中可能存在的问题 一 代理基础概念了解 什么是正向代理 是一种客户端的代理技术缩写为 forward pr
  • HarmonyOS云开发基础认证

    单选 答案 Cloud DB的数据同步模式包括缓存模式和本地模式 应用可以仅使用缓存模式 或者本地模式 也可以同时使用缓存模式和本地模式 正确 True Cloud DB服务在通过OnSnapshotListener类中的onSnapsho
  • MISRA-2012 规则整理

    说明 为了方便标准的对照 标题从8 1开始 目录 8 1 一个标准C环境 8 2 不使用的代码 8 3 注释 8 4 字符集 8 5 标识符 8 6 类型 8 7 常量 8 8 声明与定义 8 9 初始化 8 10 基本数据类型 8 11
  • 华为OD机试真题 整数对最小和 JavaScript java python c++ 参考解题

    题目描述 给定两个整数数组 array1 array2 数组元素按升序排列 假设从array1 array2中分别取出一个元素可构成一对元素 现在需要取出K个元素 并对取出的所有元素求和 计算和的最小值 注意 两对元素如果对应于array1