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