using System;using System.Linq;publicclassKata{
publicstaticintBestParkingSpot(string[] arr){
int[] o = arr.Select((b,i)=> b =="OPEN"? i :-1).Where(i => i !=-1).ToArray();int[] c = arr.Select((b,i)=> b =="CORRAL"? i :-1).Where(i => i !=-1).ToArray();int[] v =newint[o.Length];for(int i =0; i < o.Length; i++){
for(int p =0; p < c.Length; p++){
// calculate steps and store open spot index
v[i]= v[i]==0? Math.Abs(c[p]- o[i])+ o[i]: Math.Min(v[i],Math.Abs(c[p]- o[i])+ o[i]);}}int x = Array.LastIndexOf(v, v.Min());return o[x];}}
答案2:
using System;using System.Linq;publicclassKata{
publicstaticintBestParkingSpot(string[] arr){
Console.WriteLine(string.Join(",", arr.Select(x => x)));int corral = arr.Select((x, i)=> i).Where(x => arr[x].Equals("CORRAL")).First();for(int i = corral; i >0; i--)if(arr[i].Equals("OPEN"))return i;for(int i = corral; i < arr.Length; i++){
if(arr[i].Equals("OPEN")){
if(arr[i -1].Equals("CORRAL"))return i;if(i < arr.Length -2){
if(arr[i +1].Equals("OPEN")&& arr[i +2].Equals("CORRAL"))return++i;}return i;}}return-1;}}
答案3:
using System;using System.Collections.Generic;using System.Linq;publicclassKata{
privateconststring Corral ="CORRAL";privateconststring Open ="OPEN";privateconststring Store ="STORE";publicstaticintBestParkingSpot(string[] arr ){
var d =new
最佳停车位【难度:2级】:答案1:using System;using System.Linq;public class Kata{ public static int BestParkingSpot(string[] arr) { int[] o = arr.Select((b,i) => b == "OPEN" ? i : -1).Where(...