[2017][rust][2.1]
change xvuxxvtlmoyqtsvlzsynlxrknxmlkozu
commit 4f1d4b495e93d5e9ae9f7741bde32c6647da93d7
author Alpha Chen <alpha.chen@gmail.com>
date
parent tvuzqpvs
diff --git a/2017/rust/src/day_02.rs b/2017/rust/src/day_02.rs
index f8d495a..8c0da5c 100644
--- a/2017/rust/src/day_02.rs
+++ b/2017/rust/src/day_02.rs
@@ -17,7 +17,16 @@ pub fn solve(input: &str) -> Result<String, Error> {
 }
 
 fn checksum(row: &[usize]) -> usize {
-    let min = row.iter().min().unwrap();
-    let max = row.iter().max().unwrap();
-    max - min
+    // 1
+    // let min = row.iter().min().unwrap();
+    // let max = row.iter().max().unwrap();
+    // max - min
+
+    row.iter()
+        .flat_map(|x| row.iter().map(|y| (x, y)).collect::<Vec<_>>())
+        .filter(|&(a,b)| a != b)
+        .filter(|&(&a,&b)| (a as f64) % (b as f64) == 0.0)
+        .map(|(&a,&b)| a / b)
+        .next()
+        .unwrap()
 }