improve prop range splitting

This commit is contained in:
2025-01-27 14:30:41 -05:00
parent 6dde0ff29f
commit a1373ec338
3 changed files with 38 additions and 16 deletions

24
src/misc.rs Normal file
View File

@@ -0,0 +1,24 @@
pub fn split(min: usize, max: usize, x: usize) -> Vec<Vec<usize>> {
if min > x || x > max {
return Vec::new();
}
let index = x - min;
let collected = (min..=max).collect::<Vec<usize>>();
let split = collected.split_at(index);
let mut one = split.0.to_vec();
one.reverse();
let mut two = split.1.to_vec();
two.remove(0);
vec![one, two]
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn split_test() {
assert_eq!(split(0, 6, 2), vec![vec![1, 0], vec![3, 4, 5, 6]]);
}
}