csharp进阶练习题:猫和狗的数组矩阵【难度:2级】:
考虑一个包含猫和狗的数组.每只狗只能抓到一只猫,但不能捕捉到超过"n"元素的猫.您的任务是返回可捕获的最大猫数.
例如:
求解(['D','C','C','D','C'],2)= 2,因为索引0(D0)处的狗捕获C1而D3捕获C4.
求解(['C','C','D','D','C','D'],2)= 3,因为D2捕获C0,D3捕获C1,D5捕获C4.
求解(['C','C','D','D','C','D'],1)= 2,因为D2捕获C1,D3捕获C4.无法捕获C0,因为n == 1.
解决(['D','C','D','D','C'],1)= 2,太多的狗,所以所有的猫都被抓住了!
不要修改输入数组.
测试用例中有更多示例.祝好运!
编程目标:
using System;
using System.Collections.Generic;
public static class Kata
{
public static int Solve(List xs, int n)
{
throw new NotImplementedException();
}
}
测试样例:
namespace Solution
{
using NUnit.Framework;
using System;
using System.Collections.Generic;
[TestFixture]
public class SolutionTest
{
{
Assert.That(Kata.Solve(new List {'D','C','C','D','C'}, 1), Is.EqualTo(2));
Assert.That(Kata.Solve(new List {'C','C','D','D','C','D'}, 2), Is.EqualTo(3));
Assert.That(Kata.Solve(new List {'C','C','D','D','C','D'}, 1), Is.EqualTo(2));
Assert.That(Kata.Solve(new List {'D','C','D','C','C','D'}, 3), Is.EqualTo(3));
Assert.That(Kata.Solve(new List {'C','C','C','D','D'}, 3), Is.EqualTo(2));
Assert.That(Kata.Solve(new List {'C','C','C','D','D'}, 2), Is.EqualTo(2));
最佳答案(多种解法):
更多关联题目:
csharp高级练习题:优化寻路算法【难度:3级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp高级练习题:Geohashing【难度:3级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp高级练习题:简单加密#3 - 转动比特【难度:3级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/arrays-of-cats-and-dogs