// sortAndGetLargest.ts function swap(arr: number[], i: number, j: number): void { const tmp: number = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } function sortAndGetLargest(arr: number[]): number { if (arr.length === 0) { throw new Error("Array must not be empty"); } // Sort the array in descending order for (let i = 0; i < arr.length; i += 1) { for (let j = i + 1; j < arr.length; j += 1) { if (arr[i] < arr[j]) { swap(arr, i, j); } } } // The largest element is now at index 0 return arr[0]; } const largest: number = sortAndGetLargest([99, 2, 43, 8, 0, 21, 12]); console.log(largest); // should be 99, but prints 0