滞在ボタン--- 2020年3月15日

695の島の最大面積

//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と最大9桁

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は、小文字に変換しました

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;
    }
}

より多くのあなたが知っている、より多くのあなたは知りません。
手術をせずに適切な方法は、患者はまだ手術を終了し、手術する方法はありません、求めることができます。
あなたが他の質問がある場合は、ウェルカムメッセージ、我々は、議論一緒に学び、一緒に進行することができます

彼は193元の記事を発表 ウォンの賞賛116 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_40722827/article/details/104886515