Ad
  • Default User Avatar

    The time complexity of the longest method is determined by the operations performed within the method. Let's analyze the operations step by step:

    1. Concatenation: The line String s = s1 + s2; performs concatenation of the two input strings s1 and s2. The time complexity of string concatenation in Java is O(n1 + n2), where n1 is the length of s1 and n2 is the length of s2.

    2. Distinct: The distinct() method is used on the IntStream created from the concatenated string s. The distinct() method creates a new stream with distinct elements, which involves iterating through the elements of the stream and keeping track of unique elements. The time complexity of the distinct() operation is O(n), where n is the number of characters in the concatenated string s.

    3. Sorting: The sorted() method is used to sort the characters in the stream in ascending order. The time complexity of the sorted() operation is O(n log n), where n is the number of characters in the concatenated string s.

    4. Collecting: The collect() method is used to collect the sorted characters back into a StringBuilder to form the resulting string. The collect() operation iterates through the elements in the stream and appends them to the StringBuilder. The time complexity of the collect() operation is O(n), where n is the number of characters in the concatenated string s.

    Overall, the dominant operation is the sorting step with a time complexity of O(n log n). Therefore, the time complexity of the longest method is O(n log n), where n is the total number of characters in the concatenated string s.

    It's important to note that the time complexity may vary depending on the length of the input strings and the specific implementation of the distinct() and sorted() operations. However, in this case, we can safely say that the time complexity is O(n log n) due to the sorting operation.

  • Default User Avatar

    great and neat solution! Thank you!

    One thing to mention is the creating a resulting string. I guess, it's better to write the result to rune slice or buffer. Since, string concat creates new string each time. Giving a considerable overhead

  • Default User Avatar

    Agree, it's clever to do that. But why is there more of the "best practices" likes rather than "clever"?

    Imo: making variable names like these is not one of the "best practices" :)

  • Default User Avatar

    Hi, guys, what is the time complexity here?

  • Default User Avatar

    This solution is mind blowing for me. Smart!

  • Default User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar
  • Custom User Avatar

    Not a kata issue. If the buttons are not visible, try changing the webpage zoom. Otherwise, explain your problem properly, attach a screenshot, or raise an issue on CW github.

  • Default User Avatar

    Guys, I do not have 'test sample' and submission options. What should I do to fix it?

  • Default User Avatar

    This comment is hidden because it contains spoiler information about the solution