Решение на Matrix 4 от Павел Сарлов
Резултати
- 20 точки от тестове
- 1 бонус точка
- 21 точки общо
- 15 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (/tmp/d20220112-2706256-11j8uvh/solution) Finished test [unoptimized + debuginfo] target(s) in 7.61s Running tests/solution_test.rs (target/debug/deps/solution_test-4c880d3f0adaac34) running 15 tests test solution_test::test_adding_int_and_string_negative ... ok test solution_test::test_adding_int_and_string_positive ... ok test solution_test::test_adding_int_and_string_unicode ... ok test solution_test::test_adding_int_and_string_zero ... ok test solution_test::test_adding_matrices_1 ... ok test solution_test::test_adding_matrices_2 ... ok test solution_test::test_blank_strings ... ok test solution_test::test_iterating_i32s ... ok test solution_test::test_iterating_strings ... ok test solution_test::test_multiplying_int_and_string_negative ... ok test solution_test::test_multiplying_int_and_string_positive ... ok test solution_test::test_multiplying_int_and_string_unicode ... ok test solution_test::test_multiplying_int_and_string_zero ... ok test solution_test::test_multiplying_matrices_1 ... ok test solution_test::test_multiplying_matrices_2 ... ok test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
История (2 версии и 2 коментара)
Павел качи решение на 15.11.2021 09:25 (преди почти 4 години)
Забелязах, че съм пропуснал да поправя едно нещо при умножението на матриците:
преди да се беше изяснило дали да премахваме интервали, които отделят празен низ, или не,
при връщане на резултата от умножението на матриците съм използвал trim()
и явно съм пропуснал да го махна.
В случая на 0 в клетки (0,0) или (1,1), т.е.
assert_eq!((Matrix::new(&[0, 1, -3, 4]) * Matrix::new(&[String::from("one"), String::from("two"), String::from("abac"), String::from("four")])), String::from(" abac owtowtowt fourfourfourfour")
би трябвало да гръмне.
Като проста поправка:
result.remove(0);
result
вместо result.trim().to_string()
.
Нямам против, ако това ми смъкне точките.
Изглежда не сме се сетили да напишем точно такъв тест, така че лошо няма :). Давам ти и бонус точка за допълнителните тестове + откритието на този специфичен case 👍