We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
/* * Complete the 'bomberMan' function below. * * The function is expected to return a STRING_ARRAY. * The function accepts following parameters: * 1. INTEGER n * 2. STRING_ARRAY grid */publicstaticList<String>bomberMan(intn,List<String>grid){if(n==0||n==1){returngrid;}// 3 -> 7 -> 11 -> 15 ...if(n==3||((n-4)%4)==3){returnbombsDetonateState3(grid);}// 5 -> 9 -> 13 ..if(((n-4)%4)==1){returnbombsDetonateState5(grid);}if(n%2==0){returnboardFullOfBombsState(grid);}returngrid;}privatestaticList<String>bombsDetonateState3(List<String>grid){returnexplodeBombs(grid);}privatestaticList<String>bombsDetonateState5(List<String>grid){List<String>baseGrid=bombsDetonateState3(grid);returnexplodeBombs(baseGrid);}privatestaticList<String>explodeBombs(List<String>grid){List<String>newGrid=newArrayList<>();for(inti=0;i<grid.size();i++){StringBuildersb=newStringBuilder();for(intj=0;j<grid.get(0).length();j++){charcurrent=grid.get(i).charAt(j);charup=i-1>=0?grid.get(i-1).charAt(j):'.';chardown=i+1<grid.size()?grid.get(i+1).charAt(j):'.';charleft=j-1>=0?grid.get(i).charAt(j-1):'.';charright=j+1<grid.get(0).length()?grid.get(i).charAt(j+1):'.';if(current=='O'){sb.append('.');}elseif(up=='O'||down=='O'||left=='O'||right=='O'){sb.append('.');}else{sb.append('O');}}newGrid.add(sb.toString());}returnnewGrid;}privatestaticList<String>boardFullOfBombsState(List<String>grid){returngrid.stream().map(s->"O".repeat(grid.get(0).length())).collect(toList());}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
The Bomberman Game
You are viewing a single comment's thread. Return to all comments →
Java