Я испытываю проблемы с Edabit, и текущая задача связана с вложением векторов. инструкции:
Создайте функцию, которая возвращает true, если первый массив может быть вложен во второй.
Массив 1 может быть вложен в массив 2, если:
- Массив 1 мин.> Массив 2 мин.
- Максимум массива 1 <Максимум массива 2 </li>
Примеры:
canNest([1, 2, 3, 4], [0, 6]) ➞ true
canNest([3, 1], [4, 0]) ➞ true
canNest([9, 9, 8], [8, 9]) ➞ false
canNest([1, 2, 3, 4], [2, 3]) ➞ false
код, который я написал, который не проходит все тесты, следующий:
bool canNest(std::vector<int> arr1, std::vector<int> arr2) {
return (std::min_element(arr1.begin(), arr1.end()) >
std::min_element(arr2.begin(), arr2.end()) &&
std::max_element(arr1.begin(), arr1.end()) <
std::max_element(arr2.begin(), arr2.end()));
}
Этот код выполняет тесты test3, test4 и test5, но не для test1 и test2.
It(test1){Assert::That(canNest({1, 2, 3, 4}, {0, 6}), Equals(true));}
It(test2){Assert::That(canNest({3, 1}, {4, 0}), Equals(true));}
It(test3){Assert::That(canNest({9, 9, 8}, {8, 9, 10}), Equals(false));}
It(test4){Assert::That(canNest({9, 9, 8}, {8, 9}), Equals(false));}
It(test5){Assert::That(canNest({1, 2, 3, 4}, {2, 3}), Equals(false));}
РЕДАКТИРОВАТЬ: задачу можно найти здесь , для тестирования решения!