leetcode 110 字符串接龙
def judge(s1, s2):count = 0for i in range(len(s1)):if s1[i] != s2[i]:count += 1return count == 1if __name__ == '__main__':n = int(input())begin_str, end_str = map(str, input().split())if begin_str == end_str:print(0)exit()strlist = []for _ in range(n):strlist.append(input())visited = [False for _ in range(n)]queue = [[begin_str, 1]]while queue:Str, step = queue.pop(0)if judge(Str, end_str):print(step + 1)exit()for i in range(n):if visited[i] == False and judge(strlist[i], Str):visited[i] = Truequeue.append([strlist[i], step + 1])print(0)
leetcode 105 有向图的完全联通
def dfs(grid, key, visited):for value in grid[key]:if not visited[value]:visited[value] = Truedfs(grid, value, visited)def main():import sysinput = sys.stdin.readdata = input().split()n = int(data[0])m = int(data[1])grid = [[] for _ in range(n + 1)]index = 2for _ in range(m):s = int(data[index])t = int(data[index + 1])grid[s].append(t)index += 2visited = [False] * (n + 1)visited[1] = Truedfs(grid, 1, visited)for i in range(1, n + 1):if not visited[i]:print(-1)returnprint(1)if __name__ == '__main__':main()
leetcode 106 岛屿的周长
def main():import sysinput = sys.stdin.readdata = input().split()n, m = int(data[0]),int(data[1])grid = []index = 2for _ in range(n):grid.append([int(data[index + j]) for j in range(m)])index += msum_land= 0cover = 0for i in range(n):for j in range(m):if grid[i][j] == 1:sum_land += 1if i - 1 >= 0 and grid[i - 1][j] == 1:cover += 1if j - 1 >= 0 and grid[i][j - 1] == 1:cover += 1result = sum_land * 4 - cover * 2print(result)if __name__ == '__main__':main()