longest-increasing-subsequence 0.1.0

Find a longest increasing subsequence of some input sequence
Documentation
use longest_increasing_subsequence::lis;

#[test]
fn a_bunch_of_tests() {
    for (input, expected) in vec![
        (vec![], vec![]),
        (vec![3], vec![0]),
        (vec![3, 2], vec![1]),
        (vec![3, 3], vec![0]),
        (vec![3, 4], vec![0, 1]),
        (vec![7, 8, 9], vec![0, 1, 2]),
        (vec![9, 8, 7], vec![2]),
        (vec![1, 7, 2, 8, 3, 9, 4, 5], vec![0, 2, 4, 6, 7]),
    ] {
        eprintln!("=====================================================");
        let input = dbg!(input);
        let actual = dbg!(lis(&input));
        assert_eq!(actual, expected);
    }
}