csharp进阶练习题:猫和狗的数组矩阵【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值