Rotate List

Здравейте, задачата ми минава в IntelliJ, но дава грашка в judge. Kаква е причината?

import java.util.*;
import java.util.Scanner;

public class RotateList {
    public static void main(String[] args) {
        Scanner scan = new Scanner (System.in);
        String[] line = scan.next ().split (",");
        int n=scan.nextInt ();

        Collections.rotate (Arrays.asList (line),-n);
        System.out.println (Arrays.toString (line).replace ("["," ").replace("]"," "));
    }
}
1 Like

Примерните тестове, които са дадени в задачата излизат ли ти?

Открих си грешката - била съм оставила ненужни интервали, благодаря.

1 Like

Здравей,

Защо при ротацията на листа n е с минус отпред?

Здравей,

n представлява тук rotation distance и показва колко пъти елементите ще бъдат завъртяни / ще променят своите места.

Имаме минус, защото искаме елементите да се променят в посока напред (forward). Позитивен rotation distance размества елементите назад (backward).

От първия пример на задачата това условие не става ясно, но от втория се забелязва, че при input:

2,1,3,4
5

…единствено можем да постигнем резултата по-долу със завъртане на списъка напред:

1,3,4,2

Успех!

Поздрави,
Петър

1 Like

Здравей, Петър,

И благодаря!
Допусках, че може би това е логиката, но не бях сигурна. :slight_smile:

Поздрави,
Доника