当前位置: 首页 > news >正文

Python | Leetcode Python题解之第433题最小基因变化

题目:

题解:

class Solution:def minMutation(self, start: str, end: str, bank: List[str]) -> int:if start == end:return 0def diffOne(s: str, t: str) -> bool:return sum(x != y for x, y in zip(s, t)) == 1m = len(bank)adj = [[] for _ in range(m)]endIndex = -1for i, s in enumerate(bank):if s == end:endIndex = ifor j in range(i + 1, m):if diffOne(s, bank[j]):adj[i].append(j)adj[j].append(i)if endIndex == -1:return -1q = [i for i, s in enumerate(bank) if diffOne(start, s)]vis = set(q)step = 1while q:tmp = qq = []for cur in tmp:if cur == endIndex:return stepfor nxt in adj[cur]:if nxt not in vis:vis.add(nxt)q.append(nxt)step += 1return -1

http://www.mrgr.cn/news/34741.html

相关文章:

  • scss知识汇总
  • JS数组随机取数
  • Java运算符
  • centos7 docker部署nacos
  • 公安局党建平台建设方案和必要性-———未来之窗行业应用跨平台架构
  • 【我的 PWN 学习手札】fastbin reverse into tcache —— tcache key 绕过
  • 使用GLib进行C语言编程的实例
  • typename、非类型模板参数、模板参数的特化、模板类成员函数声明和定义分离、继承等的介绍
  • LED显示屏驱动电源:恒流与恒压,谁更胜一筹?
  • 在uboot中添加自定义命令
  • Robot Operating System——带有时间戳和坐标系信息的多边形信息
  • ubuntu内网穿透后在公网使用ssh登录
  • could not broadcast input array from shape
  • 盘点那些功能强大的思维导图在线工具,你用过几个
  • 图数据库之TigerGraph
  • R语言 基础笔记 2
  • 【CSS in Depth 2 精译_038】6.2 CSS 定位技术之:绝对定位
  • util-linux 和 dosfstools 开发 ,fdisk mkfs工具移植
  • 【C++ 11多线程加速计算实操教程】
  • New major version of npm available! 8.3.1 -> 10.8.3 报错