Minimum Index Sum of Two Lists LeetCode solution in Rust
1impl Solution {2pub fn find_restaurant(list1: Vec<String>, list2: Vec<String>) -> Vec<String> {3use std::cmp::Ordering;4use std::collections::HashMap;56let map = list1.iter().zip(0..).collect::<HashMap<_, usize>>();7let mut res = vec![];8let mut min_sum = usize::MAX;910for (i2, s2) in list2.into_iter().enumerate() {11if let Some(&i1) = map.get(&s2) {12let new_sum = i1 + i2;13match new_sum.cmp(&min_sum) {14Ordering::Less => {15min_sum = new_sum;16res = vec![s2];17}18Ordering::Equal => res.push(s2),19_ => (),20}21}22if i2 > min_sum {23break;24}25}26res27}28}