当前位置: 首页 > 面试题库 >

写一个合并两个数组列表的方法,两个数组列表中的元素交替

袁桐
2023-03-14
问题内容

写一个方法

公共静态ArrayList merge(ArrayList a,ArrayList b)

合并两个数组列表,两个数组列表中的元素交替出现。如果一个数组列表短于另一个数组列表,则请尽可能长地交替,然后附加较长数组列表中的其余元素。例如,如果a是

1 4 9 16

b是

9 7 4 9 11

然后合并返回数组列表

1 9 4 7 9 4 16 9 11

我尝试做的是编写一个带if语句的for循环,以便当i为偶数(i%2 ==
0)时,将数组列表a中的数字添加到数组列表a中;当i为an时,将数组列表b中的数字添加到数组列表中奇数。但是,我不确定如何处理一个数组列表可能比另一个数组列表更长的事实。有人可以帮我吗?

编辑 :好的,这是代码(但远非正确):

public static ArrayList<Integer> merge(ArrayList<Integer> een, ArrayList<Integer> twee)
{
    ArrayList<Integer> merged = new ArrayList<Integer>();

    for(int i = 0; i<100; i++)
    {           
        if(i%2!=0)
        {
            merged.add(a.get(i));
        }   
        if(i%2 == 0)
        {
            merged.add(b.get(i));
        }               
    }

    System.out.println(merged);
    return merged;
}

问题答案:

没有迭代器:

public static ArrayList merge(ArrayList a, ArrayList b) {
    int c1 = 0, c2 = 0;
    ArrayList<Integer> res = new ArrayList<Integer>();

    while(c1 < a.size() || c2 < b.size()) {
        if(c1 < a.size())
            res.add((Integer) a.get(c1++));
        if(c2 < b.size())
            res.add((Integer) b.get(c2++));
    }
    return res;
}


 类似资料:
  • 有人请让我知道我如何才能达到预期的结果。如有任何帮助,不胜感激。 谢谢

  • 我正在尝试开发一个程序,通过将甲板分成两个然后交错来洗牌甲板。 Class Deck代表52张牌的一副牌。有两种方法:Deck(int n)和Card drawCard()。 Deck(int n)是构造函数。该参数告诉牌组应该洗牌多少轮。在每轮洗牌中,整个甲板首先被分成两个子甲板。副甲板然后交错成一整层甲板。 一些注意事项: > 为了简化讨论,我们假设卡片是1,2,…,10。 Card draw

  • rank ▲ ✰ vote url 65 357 50 683 url 合并两个列表 怎样合并两个列表? 例如: listone = [1,2,3] listtwo = [4,5,6] 我期待: mergedlist == [1, 2, 3, 4, 5, 6] 在Python中非常容易. mergedlist = listone + listtwo

  • 问题内容: 如果我有两个清单 什么是获取熊猫数据框的最优雅的方式,如下所示: 注意,第一列是索引。 问题答案: 使用于:

  • 本文向大家介绍写一个方法将一个数组中的元素,从前到后依次两两组合,最后一个与第一个组合相关面试题,主要包含被问及写一个方法将一个数组中的元素,从前到后依次两两组合,最后一个与第一个组合时的应答技巧和注意事项,需要的朋友参考一下

  • 问题:我希望编写一个脚本,同时循环两个列表,并将列表1中的日期替换为列表2中的日期。因此,很明显,您将使用清单2中的前70个日期替换清单1中的70个日期。之后,我希望将修改后的list1写入一个。txt文件。 我试过了,但我完全卡住了。我是Python的超级noob。