Программа работала слишком долго и была закрыта!
на локальном пк отрабатывает мгновенно. в чём может быть затык?? /*
* Copyright (c) 2021. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
* Vestibulum commodo. Ut rhoncus gravida arcu.
*/
package com.javarush.task.task22.task2209;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//...
LinkedList<String> allwords = new LinkedList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
//file = "C:\\java\\2.txt";
BufferedReader filereader = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8));
while (filereader.ready()) {
allwords.addAll(Arrays.asList(filereader.readLine().split(" ")));
}
String[] words = allwords.toArray(new String[allwords.size()]);
StringBuilder result = getLine(words);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if (words == null || words.length == 0) return new StringBuilder("");
StringBuilder sb = new StringBuilder();
LinkedList<String> allwords = new LinkedList<>(Arrays.asList(words));
Collections.sort(allwords);
while (!allwords.isEmpty()) {
for (int i = 0; i < allwords.size(); i++) {
String s = allwords.get(i).trim();
if (sb.length() < 1) {
sb.append(s);
allwords.remove(i);
} else {
StringBuilder sbl = new StringBuilder(sb.toString());
String lastSbChar = sbl.delete(0, sbl.length() - 1).toString();
String firstChar = s.substring(0, 1);
if (lastSbChar.equalsIgnoreCase(firstChar)) {
sb.append(" ").append(s);
allwords.remove(s);
}
}
}
}
return sb;
}
}