botón de estancia --- 15/03/2020

695. El área máxima de la isla

//DFS
class Solution {
    public int maxAreaOfIsland(int[][] grid) {
        int max = 0;
        for(int i = 0; i < grid.length; i++){
            for(int j = 0; j < grid[0].length; j++){
                if(grid[i][j] == 1){
                    max = Math.max (dfs(grid, i, j), max);
                }
            }
        }
        return max;
    }
    
    int dfs(int[][] grid, int i, int j){
        if(i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] == 0){
            return 0;
        }
        grid[i][j] = 0;
        int count = 1;
        count += dfs(grid, i+1, j);
        count += dfs(grid, i-1, j);
        count += dfs(grid, i, j+1);
        count += dfs(grid, i, j-1);
        return count;
    }
}
//BFS
class Solution {
    int[][] dicts = new int[][]{{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
    private boolean isInArea(int[][] grid, int i, int j) {
        if (i < 0 || j < 0 || i >= grid.length || j >= grid[0].length)
            return false;
        return true;
    }
    
    public int maxAreaOfIsland(int[][] grid) {
        int ans = 0;
        int m = grid.length;
        int n = grid[0].length;
        Queue<int[]> queue = new ArrayDeque<>();
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (grid[i][j] == 1) {
                    int tmp = 0;
                    grid[i][j] = 0;
                    queue.add(new int[]{i, j});
                    while (!queue.isEmpty()) {
                        int[] cur = queue.poll();
                        tmp++;
                        int x = cur[0];
                        int y = cur[1];
                        for (int[] d : dicts) {
                            int nx = x + d[0];
                            int ny = y + d[1];
                            if (isInArea(grid, nx, ny) && grid[nx][ny] == 1) {
                                grid[nx][ny] = 0;
                                queue.add(new int[]{nx, ny});
                            }
                        }
                    }
                    ans = Math.max(ans, tmp);
                }
            }
        }
        return ans;
    }
}

1323.6 y máximo 9 dígitos

class Solution {
    public int maximum69Number (int num) {
        return Integer.valueOf(String.valueOf(num).replaceFirst("6","9"));
    }
}
class Solution {
    public int maximum69Number (int num) {
        String numStr = String.valueOf(num);
        char[] cs = numStr.toCharArray();
        for(int i = 0; i < cs.length;i++) {
            char numc = cs[i];
            if (numc == '6') {
                cs[i] = '9';
                break;
            }
        }
        return Integer.valueOf(String.valueOf(cs));
    }
}
class Solution {
    public int maximum69Number (int num) {
        char[] array = String.valueOf(num).toCharArray();
        int length = array.length;
        for (int i = 0; i < length; i++) {
            if (array[i] == '6') {
                array[i] = '9';
                break;
            }
        }
        return Integer.parseInt(new String(array));
    }
}

709. convertidos a minúsculas

class Solution {
    public String toLowerCase(String str) {
        char[] chars = str.toCharArray();
         for(int i=0;i<chars.length;i++){
             if(chars[i] >= 'A'&& chars[i] <= 'Z'){
                 chars[i] += 'a' - 'A';
             }
         }
        return String.valueOf(chars);
    }
}
class Solution {
    public String toLowerCase(String str) {
        if(str == null && "".equals(str))  return null;

        StringBuilder sb = new StringBuilder();
        for(char c:str.toCharArray()){
            if(c >= 'A' && c <= 'Z'){
                sb.append((char)(c+32));
            }else{
                sb.append(c);
            }
        }
        return sb.toString();
    }
}
class Solution {
    public String toLowerCase(String str) {
        String result = "";
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= 65 && c <= 90) {
                c += 32; 
            }
            result += c;
        }
        return result;
    }
}

Cuanto más se sabe, más usted no sabe.
Forma correcta sin necesidad de cirugía, los pacientes aún pueden buscar, no hay ninguna manera de la cirugía, poniendo fin a la cirugía.
Si usted tiene otras preguntas, mensaje de bienvenida, podemos discutir, aprender juntos y progresar juntos

Ha publicado 193 artículos originales · alabanza 116 won · vistas 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_40722827/article/details/104886515
Recomendado
Clasificación