classSolution{publicintcountSubIslands(int[][] grid1,int[][] grid2){int m = grid1.length;int n = grid1[0].length;for(int i =0; i < m; i++){for(int j =0; j < n; j++){// 如果两个岛屿的点不一样 说明grid2这个岛屿一定不是子岛屿if(grid1[i][j]==0&& grid2[i][j]==1){// 淹没 i j 以及相邻的土地dfs(grid2,i,j);}}}int res =0;// 现在grid2 剩下的岛屿 全部都是子岛屿 计算岛屿的数量for(int i =0; i < m; i++){for(int j =0; j < n; j++){if(grid2[i][j]==1){res++;dfs(grid2,i,j);}}}return res;}// DFSvoiddfs(int[][] grid,int i,int j){int m = grid.length;int n = grid[0].length;if(i <0|| j <0|| i >= m || j >= n){return;}// 遇到海水if(grid[i][j]==0){return;}grid[i][j]=0;dfs(grid,i +1,j);dfs(grid, i -1,j);dfs(grid,i ,j +1);dfs(grid,i,j-1);}}
1、日期生成
很多时候我们需要批量生成日期,方法有很多,这里分享两段代码
获取过去 N 天的日期:
import datetimedef get_nday_list(n):before_n_days []for i in range(1, n 1)[::-1]:before_n_days.append(str(datetime.date.today() …