/** * [228] Summary Ranges */ pub struct Solution {} // submission codes start here impl Solution { pub fn summary_ranges(nums: Vec<i32>) -> Vec<String> { let mut result = vec![]; if nums.len() == 0 { return result; } let mut begin = nums[0]; let mut end = nums[0]; for i in 1..nums.len() { if nums[i] == end + 1 { end += 1; } else { result.push(if begin == end { format!("{}", begin) } else { format!("{}->{}", begin, end) }); begin = nums[i]; end = nums[i]; } } result.push(if begin == end { format!("{}", begin) } else { format!("{}->{}", begin, end) }); result } } // submission codes end #[cfg(test)] mod tests { use super::*; #[test] fn test_228() { } }