Je faisais les défis de codage sur Codefights, sponsorisés par Uber et il y avait un problème que j'étais incapable de résoudre. Pour la question, vous pouvez regarder ici http://codepen.io/ducminhn/pen/JYmrmE.Stationnement Station de stationnement avec fonction de tableau de bord et dimension de la voiture
Je crois que ce problème est lié à la programmation dynamique, donc j'ai étiqueté ce problème comme la programmation dynamique, mais j'apprends toujours Java, alors s'il vous plaît informez-moi si je me trompe. C'est ce que j'ai jusqu'ici, et je crois que ma logique peut ne pas être correcte dans la boucle for imbriquée. Si quelqu'un pouvait vérifier mon code et le corriger pour moi.
Merci à l'avance,
boolean parkingSpot(int[] carDimensions, int[][] parkingLot, int[] luckySpot) {
int carx = carDimensions[0];
int cary = carDimensions[1];
boolean result = false;
for(int l=0;l<parkingLot.length;l++){
for(int k=0;k<parkingLot.length;k++){
if(l == luckySpot[0]){
for(int i=luckySpot[0];i<carx;i++){
if(k== luckySpot[1]){
for(int j= luckySpot[1];j<cary;j++){
if(parkingLot[i][j] != 0){
result = false;
}
}
}
}
}
}
}
return true;
}
Je ne pense pas que ce soit la programmation dynamique (ou je suis mal compris la question!), Mais plutôt quelque chose comme une simple somme '[lot [+ 0..carx dimensions [2]] [cary .. cary + dimensions [3]] == 0' et similaire pour vérifier l'approche à partir de la droite. –