您的位置:首页 > 科技 > 能源 > 多用户商城系统源码下载_电子商务有限公司_搜索引擎优化seo方案_关于进一步优化 广州

多用户商城系统源码下载_电子商务有限公司_搜索引擎优化seo方案_关于进一步优化 广州

2025/1/31 10:04:38 来源:https://blog.csdn.net/arnold66/article/details/144708239  浏览:    关键词:多用户商城系统源码下载_电子商务有限公司_搜索引擎优化seo方案_关于进一步优化 广州
多用户商城系统源码下载_电子商务有限公司_搜索引擎优化seo方案_关于进一步优化 广州

前言

        工作了十几年,从普通的研发工程师一路成长为研发经理、研发总监。临近40岁,本想辞职后换一个相对稳定的工作环境一直干到老, 没想到离职后三个多月了还没找到工作,愁肠百结。为了让自己有点事情做,也算提高一下自己的编程能力,无聊之余打算用一些大厂的编程题练练手。希望通过这些分享能够帮到一些人,也希望能和看到此文的大神们沟通交流,提升自己,更希望在此期间能够找到一份理想的工作。

题目描述

        现在有多组整数数组,需要将它们合并成一个新的数组。合并规则如下:

  1. 从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉。
  2. 如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数组中,继续下一行。

输入

  1. 第一行是每次读取的固定长度L,满足 0<L<10。
  2. 第二行是整数数组的数目N,满足 0<N<1000。
  3. 第 3 到第 N+2 行是需要合并的数组,不同的数组用回车换行分隔,数组内部用逗号分隔,每个数组最多不超过 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

说明

种第7棵树,最多连续胡杨树棵数位6(5,6,7,8,9,10)

示例3

输入
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

说明

输入用例中的数组存在空元素,需要过滤掉空串

数据范围

0<L<10
0<N<1000
每个数组最多不超过 100 个元素 

解题思路

        使用List存储,每个对象为String数组,且为去除为空的。

        循环遍历每个数组并取L长度的值,直到结尾为止。读完的从List中去除,直到List为空为止。

题解

Java实现

package huawei.e100;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;/**
* @author YangShun
* @date 2024年12月24日
* 数组拼接
*/
public class T38 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()) {int l = sc.nextInt();int n = sc.nextInt();sc.nextLine();List<String[]> data = new ArrayList<>();for (int i = 0; i < n; i++) {String[] tmp = sc.nextLine().split(",");// 数组去除空数据 并添加到列表中data.add(Arrays.stream(tmp).filter(str-> str.trim().length()>0).toArray(String[]::new));}List<String> res = run(data, l);System.out.println(String.join(",", res));}}static List<String> run(List<String[]> data, int l) {List<String> res = new ArrayList<>();int time = 0;// 循环取值,直到列表为空为止while(data.size()> 0) {Iterator<String[]> it = data.iterator();while(it.hasNext()) {String[] d = it.next();if(l*time >= d.length) {it.remove(); // 取完的数组从列表中删除} else {// 每次从数组中取l个数,遇到结束退出for (int i = l*time; i < d.length && i < l*time + l; i++) {res.add(d[i]);}}}time ++;}return res;}}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com