#1131
Medium Algorithms Maximum of absolute value expression
Array Math
48.6% acceptance
Feb 25, 2026
676
419
Given two arrays of integers with equal lengths, return the maximum value of:
|arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j|
where the maximum is taken over all 0 <= i, j < arr1.length.
Solution
Rust
Time O(n³)
Space O(1)
impl Solution {
pub fn max_abs_val_expr(arr1: Vec<i32>, arr2: Vec<i32>) -> i32 {
let n = arr1.len();
let mut result = 0;
for s1 in [-1i32, 1] {
for s2 in [-1i32, 1] {
for s3 in [-1i32, 1] {
let mut min_val = i32::MAX;
let mut max_val = i32::MIN;
for i in 0..n {
let v = s1 * arr1[i] + s2 * arr2[i] + s3 * i as i32;
min_val = min_val.min(v);
max_val = max_val.max(v);
}
result = result.max(max_val - min_val);
}
}
}
result
}
}