Java 数组中的重复序列

Java 数组中的重复序列,java,loops,arraylist,Java,Loops,Arraylist,在这个问题中,我将编写一个方法,该方法接受字符串的ArrayList和整数。在这种情况下,整数将按照整数所指示的次数重复单个单词。例如,如果列表在调用方法之前存储值[“how”,“are”,“you?”],并且k为4,那么它应该存储值[“how”,“how”,“how”,“how”,“are”,“are”,“are”,“are”,“are”,“are”,“you?”,“you?”]如果k为0或负值,则调用后列表应该为空 public static void stutter(ArrayList&l

在这个问题中,我将编写一个方法,该方法接受
字符串的
ArrayList
整数。在这种情况下,整数将按照整数所指示的次数重复单个单词。例如,如果列表在调用方法之前存储值
[“how”,“are”,“you?”]
,并且k为4,那么它应该存储值
[“how”,“how”,“how”,“how”,“are”,“are”,“are”,“are”,“are”,“are”,“you?”,“you?”]
如果k为0或负值,则调用后列表应该为空

public static void stutter(ArrayList<String> thing, int k) {
    if (k <= 0) {
        thing.clear(); // if k is 0
        return;
    }

    for (int i = 0; i< thing.size(); i+= k) {
        String temp = thing.get(i);
        for (int j = 0; j < k; j++) {
            thing.add(temp);
        }
    }
}
publicstaticvoidstutter(arraylistthing,intk){

如果(k没关系,我解决了它;只是重新安排一下,它就成功了。

我还没有测试过,请验证

 public static void stutter(ArrayList<String> thing, int k) {
    if (k <= 0) {
        thing.clear(); // if k is 0
        return;
    }

    ArrayList<String> newList = new ArrayList<>();
    for (int i = 0; i< thing.size(); i++) {
        String temp = thing.get(i);
        for (int j = 0; j < k; j++) {
            newList.add(temp);
        }
    }
    thing.clear();
    thing.addAll(newList);
}
public static void stutter(ArrayList<String> thing, int k) {
    if (k <= 0) {
        thing.clear();
        return;
    }
    for (int i = 0; i< thing.size(); i+= k) {
        String temp = thing.get(i);
        for (int j = 1; j < k; j++) {
            thing.add(i, thing.get(i));
        }

        if (i == thing.size()) {
            return;
        }
    }
}
publicstaticvoidstutter(arraylistthing,intk){

如果(k没关系,我解决了它;只是重新安排一下就行了

public static void stutter(ArrayList<String> thing, int k) {
    if (k <= 0) {
        thing.clear();
        return;
    }
    for (int i = 0; i< thing.size(); i+= k) {
        String temp = thing.get(i);
        for (int j = 1; j < k; j++) {
            thing.add(i, thing.get(i));
        }

        if (i == thing.size()) {
            return;
        }
    }
}
publicstaticvoidstutter(arraylistthing,intk){

如果(k)那么您面临的问题是什么?我让它工作了,没关系。您的解决方案的时间复杂性将大于O(k*thing.size())