diff --git a/src/main.rs b/src/main.rs index 92f5252..9da8ecb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,21 +2,19 @@ mod arr; struct Solution {} impl Solution { - pub fn max_distance(nums1: Vec, nums2: Vec) -> i32 { + pub fn max_distance(colors: Vec) -> i32 { let mut ans = 0; - for i in 0..nums1.len() { - let mut idx = nums2.partition_point(|&x| x >= nums1[i]); - if idx == 0 { - continue; + for i in 0..colors.len() { + for j in ((i + 1)..colors.len()).rev() { + if colors[i] != colors[j] { + ans = ans.max((j - i) as i32); + } } - idx -= 1; - ans = ans.max(idx as i32 - i as i32); } ans } } fn main() { - println!("{:?}", Solution::max_distance(vec![55,30,5,4,2],vec![100,20,10,10,5])); + println!("{:?}", Solution::max_distance(vec![1, 8, 3, 8, 3])); } -