Skip to main content
Back to problems
#356
Medium Algorithms

Line reflection

Array Hash Table Math
36.3% acceptance
Mar 31, 2026
317
640

No description available.

Solution

Rust
Time O(n)
Space O(1)
LeetCode
solution.rs
use std::collections::HashSet;

impl Solution {
  pub fn is_reflected(points: Vec<Vec<i32>>) -> bool {
    let min_x = points.iter().map(|p| p[0]).min().unwrap();
    let max_x = points.iter().map(|p| p[0]).max().unwrap();
    let sum = min_x as i64 + max_x as i64;
    let set: HashSet<(i64, i32)> = points.iter().map(|p| (p[0] as i64, p[1])).collect();
    for p in &points {
      let reflected_x = sum - p[0] as i64;
      if !set.contains(&(reflected_x, p[1])) {
        return false;
      }
    }
    true
  }
}