This question evaluates understanding of order statistics, selection algorithms, and algorithmic efficiency in retrieving the k-th largest element from an unsorted integer array.

Given an unsorted array of integers nums and an integer k (1 ≤ k ≤ len(nums)), return the k-th largest element in the array. The 1st largest element is the maximum element, the 2nd largest is the second highest, and so on.
nums
and an integer
k
.
Try to design an algorithm that is more efficient than fully sorting the array if possible.
Describe your approach and analyze its time and space complexity. You do not need to provide actual code.