Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn main() {
- let empty = vec![];
- let all_eq = vec![2,2,2,2];
- let not_eq = vec![1,6,5,1,6];
- assert!(is_all_same(&empty));
- assert!(is_all_same2(&empty));
- assert!(is_all_same3(&empty));
- assert!(is_all_same(&all_eq));
- assert!(is_all_same2(&all_eq));
- assert!(is_all_same3(&all_eq));
- assert_eq!(is_all_same(¬_eq), false);
- assert_eq!(is_all_same2(¬_eq), false);
- assert_eq!(is_all_same3(¬_eq), false);
- }
- fn is_all_same(arr: &[usize]) -> bool {
- if arr.is_empty() {
- return true;
- }
- let first = arr[0];
- arr.iter().all(|&item| item == first)
- }
- fn is_all_same2(arr: &[usize]) -> bool {
- arr.iter().min() == arr.iter().max()
- }
- fn is_all_same3<T: PartialEq>(arr: &[T]) -> bool {
- arr.windows(2).all(|w| w[0] == w[1])
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement