-
Code import java.util.*; import java.util.stream.*; class Solution { public static String largestNumber(Integer[] nums) { final StringBuilder sb = new StringBuilder(); return Arrays.stream(nums) .parallel() .map((n) -> n.toString()) .sorted(Solution::compareNumberString) .collect(Collectors.joining()) .toString(); } private static int compareNumberString(String s1, String s2) { if (s2.startsWith(s1)) return compareNumberString(s2.substring(s1.length()), s1); if (s1.startsWith(s2)) return compareNumberString(s1.substring(s2.length()), s2); return s2.compareTo(s1); } }
Test Cases import org.junit.Test; import static org.junit.Assert.assertEquals; import org.junit.runners.JUnit4; public class SolutionTest { public void test1() { assertEquals( "56550", Solution.largestNumber(new Integer[] {5, 50, 56}) ); } public void test2() { assertEquals( "8765431", Solution.largestNumber(new Integer[] {1, 3, 5, 4, 7, 6, 8}) ); } }
Output:
-
Code - import java.util.*;
- import java.util.stream.*;
- class Solution {
- public static String largestNumber(Integer[] nums) {
Arrays.sort( nums, new Comparator<Integer>() {@Overridepublic int compare(Integer a, Integer b) {String aStr = a.toString();String bStr = b.toString();return (aStr + bStr).compareTo(bStr + aStr) * -1;}} );String result = "";for(Integer num : nums) {result += num.toString();}return result;- final StringBuilder sb = new StringBuilder();
- return Arrays.stream(nums)
- .parallel()
- .map((n) -> n.toString())
- .sorted(Solution::compareNumberString)
- .collect(Collectors.joining())
- .toString();
- }
- private static int compareNumberString(String s1, String s2) {
- if (s2.startsWith(s1)) return compareNumberString(s2.substring(s1.length()), s1);
- if (s1.startsWith(s2)) return compareNumberString(s1.substring(s2.length()), s2);
- return s2.compareTo(s1);
- }
- }
- All
- {{group.name}} ({{group.count}})
This comment has been reported as {{ abuseKindText }}.
Show
This comment has been hidden. You can view it now .
This comment can not be viewed.
- |
- Reply
- Edit
- View Solution
- Expand 1 Reply Expand {{ comments?.length }} replies
- Collapse
- Remove
- Remove comment & replies
- Report
{{ fetchSolutionsError }}