20250420 finished.
This commit is contained in:
parent
22d2deb7f8
commit
f28502e89d
|
@ -609,3 +609,5 @@ mod p2176_count_equal_and_divisible_pairs_in_an_array;
|
||||||
mod p2364_count_number_of_bad_pairs;
|
mod p2364_count_number_of_bad_pairs;
|
||||||
|
|
||||||
mod p2563_count_the_number_of_fair_pairs;
|
mod p2563_count_the_number_of_fair_pairs;
|
||||||
|
|
||||||
|
mod p781_rabbits_in_forest;
|
||||||
|
|
|
@ -14,7 +14,7 @@ impl Solution {
|
||||||
let l = nums[0..i].partition_point(|&x| x + nums[i] < lower);
|
let l = nums[0..i].partition_point(|&x| x + nums[i] < lower);
|
||||||
let r = nums[0..i].partition_point(|&x| x + nums[i] <= upper);
|
let r = nums[0..i].partition_point(|&x| x + nums[i] <= upper);
|
||||||
|
|
||||||
result += (r - l);
|
result += r - l;
|
||||||
}
|
}
|
||||||
|
|
||||||
result as i64
|
result as i64
|
||||||
|
|
46
src/problem/p781_rabbits_in_forest.rs
Normal file
46
src/problem/p781_rabbits_in_forest.rs
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/**
|
||||||
|
* [781] Rabbits in Forest
|
||||||
|
*/
|
||||||
|
pub struct Solution {}
|
||||||
|
|
||||||
|
// submission codes start here
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
impl Solution {
|
||||||
|
pub fn num_rabbits(answers: Vec<i32>) -> i32 {
|
||||||
|
let mut map = HashMap::new();
|
||||||
|
|
||||||
|
for i in answers.into_iter() {
|
||||||
|
let entry = map.entry(i).or_insert(0);
|
||||||
|
*entry += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut result = 0;
|
||||||
|
|
||||||
|
for (k, mut v) in map.into_iter() {
|
||||||
|
// 同种颜色兔子最多有k + 1个
|
||||||
|
let max_count = k + 1;
|
||||||
|
|
||||||
|
while v > 0 {
|
||||||
|
result += max_count;
|
||||||
|
v -= max_count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// submission codes end
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_781() {
|
||||||
|
assert_eq!(5, Solution::num_rabbits(vec![1, 0, 1, 0, 0]));
|
||||||
|
assert_eq!(5, Solution::num_rabbits(vec![1, 1, 2]));
|
||||||
|
assert_eq!(11, Solution::num_rabbits(vec![10, 10, 10]))
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user