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

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

题目:

题解:

func diffOne(s, t string) (diff bool) {for i := range s {if s[i] != t[i] {if diff {return false}diff = true}}return
}func minMutation(start, end string, bank []string) int {if start == end {return 0}m := len(bank)adj := make([][]int, m)endIndex := -1for i, s := range bank {if s == end {endIndex = i}for j := i + 1; j < m; j++ {if diffOne(s, bank[j]) {adj[i] = append(adj[i], j)adj[j] = append(adj[j], i)}}}if endIndex == -1 {return -1}var q []intvis := make([]bool, m)for i, s := range bank {if diffOne(start, s) {q = append(q, i)vis[i] = true}}for step := 1; q != nil; step++ {tmp := qq = nilfor _, cur := range tmp {if cur == endIndex {return step}for _, nxt := range adj[cur] {if !vis[nxt] {vis[nxt] = trueq = append(q, nxt)}}}}return -1
}

相关文章:

  • MongoDB 双活集群在运营商的实践
  • postgresql gcc编译选项解释
  • jinaai/jina-embeddings-v2-base-zh向量模型报错解决
  • 从 0 到 1:互联网产品经理核心技能全解析
  • php thinkphp 小程序发送订阅模板消息通知
  • 如何给多台Linux机器设置时间同步
  • Power Platform开发小技巧,一天一个APP, 如何快速搭建二维码识别器
  • 深度学习:(五)初识神经网络
  • Git 提交规范
  • 基于PHP+MySQL组合开发地方门户分类信息网站源码系统 带完整的安装代码包以及搭建部署教程
  • 测试用例的举例
  • Xcode 16 上传AppStore遇到第三方库 bitcode 的问题
  • django drf 过滤器
  • 字符编码发展史4 — Unicode与UTF-8
  • 2024 CSP 游记
  • [case10]使用RSQL实现端到端的动态查询
  • [译]CSS 居中(Center)方法大合集
  • Android 控件背景颜色处理
  • KMP算法及优化
  • Linux后台研发超实用命令总结
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • 从零开始在ubuntu上搭建node开发环境
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于webpack 的 vue 多页架构
  • 悄悄地说一个bug
  • 软件开发学习的5大技巧,你知道吗?
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 学习笔记:对象,原型和继承(1)
  • 一道面试题引发的“血案”
  • 译米田引理
  • 如何正确理解,内页权重高于首页?
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • (1)(1.9) MSP (version 4.2)
  • (2)nginx 安装、启停
  • (k8s中)docker netty OOM问题记录
  • (PADS学习)第二章:原理图绘制 第一部分
  • (zhuan) 一些RL的文献(及笔记)
  • (笔记自用)LeetCode:快乐数
  • (超详细)语音信号处理之特征提取
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (十八)SpringBoot之发送QQ邮件
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (一) 初入MySQL 【认识和部署】
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • ??javascript里的变量问题
  • @JsonFormat 和 @DateTimeFormat 的区别
  • @Value读取properties中文乱码解决方案
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解