首页 > 编程语言 >【华为OD】D卷真题100分:数组拼接 JavaScript代码实现[思路+代码]

【华为OD】D卷真题100分:数组拼接 JavaScript代码实现[思路+代码]

时间:2024-06-09 22:04:17浏览次数:18  
标签:OD const 真题 代码 JavaScript 数组 100

【华为OD】2024年C、D卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript

【华为OD】2024年C、D卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript-CSDN博客

JS、Java、C、C++、python代码实现:

【华为OD】D卷真题100分:数组拼接 JavaScript代码实现[思路+代码]-CSDN博客

【华为OD】D卷真题100分:数组拼接 Java代码实现[思路+代码]-CSDN博客 

【华为OD】D卷真题100分:数组拼接 C语言代码实现[思路+代码]-CSDN博客 

【华为OD】D卷真题100分:数组拼接 C++代码实现[思路+代码]-CSDN博客 

【华为OD】D卷真题100分:数组拼接 python代码实现[思路+代码]-CSDN博客 

题目描述:

现在有多组整数数组,需要将它们合并成一个新的数组。合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数组中,继续下一行。

输入描述

第一行是每次读取的固定长度,0<长度<10
第二行是整数数组的数目,0<数目<1000
第3-n行是需要合并的数组,不同的数组用回车换行分隔,数组内部用逗号分隔,最大不超过100个元素。

输出描述

输出一个新的数组,用逗号分隔。

示例1

输入输出示例仅供调试,后台判题数据一般不包含示例

输入

3
2
2,5,6,7,9,5,7
1,7,4,3,4

输出

2,5,6,1,7,4,7,9,5,3,4,7

说明

1、获得长度3和数组数目2。

2、先遍历第一行,获得2,5,6;

3、再遍历第二行,获得1,7,4;

4、再循环回到第一行,获得7,9,5;

5、再遍历第二行,获得3,4;

6、再回到第一行,获得7,按顺序拼接成最终结果。

示例2

输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4
3
1,2,3,4,5,6
1,2,3
1,2,3,4

输出

1,2,3,4,1,2,3,1,2,3,4,5,6

题目解析:

        按题目逻辑进行处理即可

代码实现:


const readline = async () => (await iter.next()).value;
const rl = require("readline").createInterface({ input: process.stdin });
const iter = rl[Symbol.asyncIterator]();

const inputData = async () => {
    const length = parseInt(await readline());
    const num = parseInt(await readline());
    const datas = [];

    for (let i = 0; i < num; i++) {
        const ss = (await readline()).trim().split(',').filter(idx => /^\d+$/.test(idx)).map(Number);
        datas.push(ss);
    }

    const maxCnt = Math.max(...datas.map(i => i.length));

    for (let i = 0; i < datas.length; i++) {
        datas[i] = datas[i].concat(Array(maxCnt - datas[i].length).fill(-1));
    }

    const result = [];
    for (let i = 0; i <= Math.floor(maxCnt / length); i++) {
        for (let j = 0; j < datas.length; j++) {
            result.push(...datas[j].slice(i * length, (i + 1) * length));
        }
    }

    console.log(result.filter(i => i !== -1).join(','));
};

inputData().then(() => rl.close());

标签:OD,const,真题,代码,JavaScript,数组,100
From: https://blog.csdn.net/mars1199/article/details/139544660

相关文章

  • Python模拟时钟演示及源代码
     turtle是Python中的一个模块,用于绘图和图形设计。它提供了一个简单的绘图窗口,可以绘制各种形状、线条和颜色等。通过使用turtle模块,我们可以在屏幕上实时地绘制图形,并且可以控制画笔的移动、旋转等操作。 2、使用示例下面是一个简单的使用turtle模块绘制一个正方形的......
  • 代码随想录算法训练营第十四天|二叉树递归遍历、迭代遍历、统一迭代
    二叉树遍历二叉树主要有两种遍历方式:深度优先遍历:先往深走,遇到叶子节点再往回走。深度优先遍历又分:前序遍历(中、左、右)中序遍历(左、中、右)后序遍历(左、右、中)广度优先遍历:一层一层的去遍历。(后面讲)递归遍历递归三要素确定递归函数的参数和返回值:确定哪些参数是递......
  • JS(JavaScript)学习总结
    概念:JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语   言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范......
  • 线程池的实现代码分析
    [toc]线程池线程池代码分析thread_pool.c#include"thread_pool.h"voidhandler(void*arg){ printf("[%u]isended.\n", (unsigned)pthread_self()); //打印自己的进程号 pthread_mutex_unlock((pthread_mutex_t*)arg); //解锁}//线程要执行的任......
  • VS Code 中怎么运行js代码
    在VSCode中运行JavaScript代码可以通过以下步骤实现:1.安装Node.js:首先确保你的电脑安装了Node.js。你可以在官方网站(https://nodejs.org/)上下载适用于你操作系统的安装包,然后按照指示进行安装。2.打开VSCode:打开VSCode编辑器,确保你已经安装了VSCode的JavaScript插件。......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript旅游网站(中山)
    HTML+CSS+JS【旅游网站】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript广东传统文化
    HTML+CSS+JS【传统文化】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • springboot+vue在线考试系统附带文章和源代码部署讲解等
    文章目录前言项目运行效果截图技术栈后端springboot框架:后端mybatis框架:前端框架vue:数据库mysql:开发环境代码参考数据库参考源码质量保障源码获取前言......
  • springboot+vue养老院管理系统附带文章和源代码部署讲解等
    文章目录前言项目运行效果截图技术栈后端springboot框架:后端mybatis框架:前端框架vue:数据库mysql:开发环境代码参考数据库参考源码质量保障源码获取前言......
  • springboot+vue医院管理系统附带文章和源代码部署讲解等
    文章目录前言项目运行效果截图技术栈后端springboot框架:后端mybatis框架:前端框架vue:数据库mysql:开发环境代码参考数据库参考源码质量保障源码获取前言......