csharp进阶练习题:最佳停车位【难度:2级】:
托德正在寻找在杂货店的停车场停放的最佳场所.托德知道,有这种情况发生时,他购买杂货的一系列事件:
* 当他第一次来到,他走直进店(其中车保持).
* 在完成购物后,他将回到他的车与他的车放杂货的路程.
* 他将与现在空车到最近的车畜栏走,并存入银行.
* 他会走回他的汽车.
这种特殊的停车场是相当简单的.该店位于最左边,有停车单排,一些数内穿插其中车畜栏.例如:
[ "STORE", "采取", "采取", "CORRAL", "采取", "OPEN", "打开", "采取", "CORRAL"]
[ "STORE", "采取", "采取", "CORRAL", "采取", "OPEN", "打开", "采取", "CORRAL"]
[STORE,采取,采取CORRAL,TAKEN,OPEN,OPEN,TAKEN,CORRAL]
每个索引是一个行走的"空间".
在这种情况下,对于托德的最佳地点将是在指数5.他将需要5个步骤去商店,然后5个步骤要回自己的车,然后2个步骤来获得一个畜栏车,然后2个步骤回来后,一共有14个步骤.
返回停车点托德应该选择的指数.由于托德从侧面不受开车就可以了商店,如果有中距离的领带,挑一个最从商店最远. (减驾驶.托德是令人难以置信的懒惰.)
编程目标:
public class Kata
{
public static int BestParkingSpot(string[] arr)
{
}
}
测试样例:
namespace Solution {
using NUnit.Framework;
using System;
[TestFixture]
public class SolutionTest
{
public static object[] Basic_Test_Cases = new object[]
{
new object[] {new string[] {"STORE","OPEN","TAKEN","OPEN","CORRAL"}, 3},
new object[] {new string[] {"STORE","TAKEN","CORRAL","TAKEN","OPEN","CORRAL","OPEN"}, 4},
new object[] {new string[] {"STORE", "TAKEN", "TAKEN", "CORRAL", "TAKEN", "OPEN", "OPEN", "TAKEN", "CORRAL"}, 5},
new object[] {new string[] {"STORE","CORRAL","TAKEN","OPEN","TAKEN","TAKEN","OPEN","CORRAL","OPEN"}, 3},
new object[] {new string[] {"STORE","OPEN","OPEN","OPEN","OPEN","CORRAL","OPEN"}, 4},
new object[] {new string[] {"STORE","TAKEN","TAKEN","TAKEN","TAKEN","CORRAL","OPEN"}, 6},
};
最佳答案(多种解法):
更多关联题目:
csharp进阶练习题:扩展GroupWhile由条件项目的连续【难度:2级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp高级练习题:观察到的PIN【难度:4级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/best-parking-spot