مساله:
به شما لیستی از رشته ها داده می شود. شما باید این لیست را بر اساس ASCII مرتب سازی کنید و اولین را برگردانید.
مقدار برگشتی باید رشته باشد و بین هر یک از حروف رشته عبارت *** را بگذارید.
Description:
You will be given a vector of strings. You must sort it alphabetically (case-sensitive, and based on the ASCII values of the chars) and then return the first value.
The returned value must be a string, and have "***"
between each of its letters.
You should not remove or add elements from/to the array.
public class SortAndStar { public static String twoSort(String[] s) { java.util.Arrays.sort(s); return String.join("***",s[0].split("")); } }
import java.util.Arrays; public class SortAndStar { public static String twoSort(String[] s) { return String.join("***", Arrays.stream(s).sorted().findFirst().orElse("").split("")); } }
import java.util.Arrays; public class SortAndStar { public static String twoSort(String[] s) { return Arrays.stream(Arrays.stream(s).sorted().findFirst().get().split("")).reduce((p, c) -> p + "***" + c).get(); } }
import java.util.*; public class SortAndStar { public static String twoSort(String[] s) { Arrays.sort(s); return s[0].replaceAll("([a-zA-Z])", "***$1").substring(3); } }
import java.util.*; import java.util.stream.*; public class SortAndStar { public static String twoSort(String[] s) { Arrays.sort(s); return s[0].chars() .mapToObj(value -> String.valueOf((char) value)) .collect(Collectors.joining("***")); } }
import java.util.Arrays; import org.apache.commons.lang3.StringUtils; public class SortAndStar { public static String twoSort(String[] s) { return StringUtils.join(Arrays.stream(s).sorted().findFirst().get().split(""), "***"); } }