use crate::card::Rank;
pub fn find_full_house(ranks_desc: &Vec<Rank>) -> Option<Vec<Rank>> {
if ranks_desc.len() < 5 {
return None;
}
let mut three_of_a_kind_rank = None;
for i in 0..ranks_desc.len() - 2 {
if ranks_desc[i] == ranks_desc[i + 2] {
three_of_a_kind_rank = Some(ranks_desc[i]);
break;
}
}
if three_of_a_kind_rank.is_none() {
return None;
}
for i in 0..ranks_desc.len() - 1 {
if ranks_desc[i] == ranks_desc[i + 1] && ranks_desc[i] != three_of_a_kind_rank.unwrap() {
return Some(vec![three_of_a_kind_rank.unwrap(), ranks_desc[i]]);
}
}
return None;
}