Java | PriorityQueue based Solution
\nclass Solution {\n    public String kthLargestNumber(String[] nums, int k) {\n        PriorityQueue<String> minHeap = new PriorityQueue<>((s1, s2) -> {\n     
```\nclass Solution {\n    public String kthLargestNumber(String[] nums, int k) {\n        PriorityQueue<String> minHeap = new PriorityQueue<>((s1, s2) -> {\n            if (s1.length() == s2.length()) \n                return s1.compareTo(s2);\n            else\n                return Integer.compare(s1.length(), s2.length());\n        });\n        Arrays.stream(nums)\n            .forEach(num -> {\n                minHeap.offer(num);\n            if(minHeap.size() > k) minHeap.poll();\n            });\n        \n        return minHeap.poll();\n    }\n}\n```
['Heap (Priority Queue)', 'Java']