Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn is_almost_seq(list: &[i32]) -> bool {
- let mut last = None;
- let mut seq = true;
- for x in list {
- match last {
- None => last = Some(x),
- Some(ref mut last) => {
- if x <= last {
- if seq {
- seq = false;
- } else {
- return false
- }
- }
- *last = x
- }
- }
- }
- true
- }
- #[test]
- fn is_almost_seq_test() {
- assert!(is_almost_seq(&[1,2,3]));
- assert!(is_almost_seq(&[1,3,3]));
- assert!(is_almost_seq(&[1,2,3,10]));
- assert!(is_almost_seq(&[1,2,10,3]));
- assert!(is_almost_seq(&[1,2,10,3,4,5]));
- assert!(is_almost_seq(&[1,2,10,3,11,12]));
- assert!(is_almost_seq(&[10,1,2,3,4,5]));
- assert!(!is_almost_seq(&[1,2,10,3,11,5]));
- assert!(!is_almost_seq(&[1,1,1]));
- }
Add Comment
Please, Sign In to add comment