פורסם 2014 בינואר 811 שנים למיטב ידיעתי לא, אבל יכול להיות שאני מפספס משהו.שים לב שגם אם מותר לך לשנות את המערך, אתה יכול להחזיר אותו לקדמותו בסוף הפונקציה.אתה מוזמן להעלות את הקוד הסופי שלך אם אתה רוצה הערות. נערך 2014 בינואר 811 שנים על-ידי שניצל
פורסם 2014 בינואר 811 שנים מחבר בבקשה (ותודה...): public static int stain (char[][] mat, int row, int col) { int counter = 0; int col_len = mat.length; int row_len = mat[0].length; if (row < 0 || col < 0 || row >= row_len || col >= col_len || mat[row][col] != 'x') return 0; else { if (mat[row][col] != '2') { counter += 1; mat[row][col] = '2'; counter = counter + stain(mat, row + 1, col); counter = counter + stain(mat, row - 1, col); counter = counter + stain(mat, row, col - 1); counter = counter + stain(mat, row + 1, col - 1); counter = counter + stain(mat, row - 1, col - 1); counter = counter + stain(mat, row, col + 1); counter = counter + stain(mat, row + 1, col + 1); counter = counter + stain(mat, row - 1, col + 1); } } return counter; }
פורסם 2014 בינואר 811 שנים אחלה. אתה לא צריך את הבדיקה שהתא לא שווה 2, כי זה כבר "מוכל" בבדיקה שהוא שווה x.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.