The Weekly Challenge 338

Matrix Sums & Array Distances!

Original Challenge Link

Task 1: Highest Row

"Row by Row: Which Sum Stands Tallest?"

Given an m x n matrix, find the row with the largest sum and return that sum.

The Strategy: Iterate over each row, sum its elements, and track the maximum. Simple linear scan through all matrix elements in O(m*n).
Perl Implementation
sub highest_row {
    my ($matrix) = @_;
    return 0 unless defined $matrix && @$matrix > 0;

    my $max_sum = 0;

    foreach my $row (@$matrix) {
        my $row_sum = 0;
        $row_sum += $_ for @$row;
        $max_sum = $row_sum if $row_sum > $max_sum;
    }

    return $max_sum;
}
Python Implementation
def highest_row(matrix: list[list[int]]) -> int:
    """Return the largest row sum in the matrix."""
    if not matrix:
        return 0
    return max(sum(row) for row in matrix)

Task 2: Max Distance

"Cross-Array Gap: Find the Largest Difference!"

Given two integer arrays, find the maximum absolute difference between any pair of values (one from each array).

The Strategy: The maximum absolute difference across two arrays is max(max(arr1) - min(arr2), max(arr2) - min(arr1)). This reduces an O(n*m) brute-force to O(n+m).
Perl Implementation
sub max_distance {
    my ( $arr1, $arr2 ) = @_;
    return 0 unless defined $arr1 && defined $arr2 && @$arr1 > 0 && @$arr2 > 0;

    my $max_diff = 0;

    foreach my $x (@$arr1) {
        foreach my $y (@$arr2) {
            my $diff = abs( $x - $y );
            $max_diff = $diff if $diff > $max_diff;
        }
    }

    return $max_diff;
}
Python Implementation
def max_distance(arr1: list[int], arr2: list[int]) -> int:
    """Maximum absolute difference between any pair from two arrays."""
    if not arr1 or not arr2:
        return 0
    return max(
        abs(x - y)
        for x in arr1
        for y in arr2
    )