You've already forked rust-tutor
- create exercise vec statistics calculator (shout out claude) - finish hacky solution (it works... but at what cost) - update current state
913 B
913 B
Exercise: Vec Statistics Calculator
Concepts practiced: Vec operations, HashMap for counting, basic math functions Objective: Build a simple stats calculator that takes a list of numbers and returns basic statistics
Requirements:
- Create a function
calculate_stats(numbers: Vec<i32>) -> (f64, i32, i32)that returns (mean, median, mode) - Use Vec sorting for median calculation
- Use HashMap for mode calculation (most frequent number)
- Handle edge cases (empty vec should panic with clear message)
Success criteria:
- Code compiles and runs
- Test with
vec![1, 2, 3, 3, 4, 5]returns approximately(3.0, 3, 3)
Stretch goal:
Return a struct instead of tuple for better readability
Getting Started:
cd exercisescargo new vec-statscd vec-stats- Implement the function in
src/main.rsorsrc/lib.rs - Test with the example input
Expected time: 30-45 minutes