/
asmody
/
exercism
Обзор
Документация
Войти
/
asmody
/
exercism
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
rust/sublist/src/lib.rs
32 строки
661 B
Victor Asmody Sakhnov
с домашнего
21 дек 2024, 18:25
21 дек 2024, 18:25
ac11a41
Код
Авторство
О чём код?
#[derive(Debug, PartialEq, Eq)] pub enum Comparison { Equal, Sublist, Superlist, Unequal, } fn is_sublist<T: PartialEq>(a: &[T], b: &[T]) -> bool { if a.len() > b.len() { return false; } for i in 0..=(b.len() - a.len()) { if &b[i..i + a.len()] == a { return true; } } false } pub fn sublist<T: PartialEq>(a: &[T], b: &[T]) -> Comparison { if a == b { return Comparison::Equal; } else if is_sublist(a, b) { return Comparison::Sublist; } else if is_sublist(b, a) { return Comparison::Superlist; } else { return Comparison::Unequal; } }