尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

代码随想录算法训练营第四十六天 | 110. 字符串接龙 105.有向图的完全联通 106. 岛屿的周长

代码随想录算法训练营第四十六天 | 110. 字符串接龙 105.有向图的完全联通 106. 岛屿的周长
📅 发布时间:2026/6/17 23:39:37

视频和文字的图 不是广搜过程的图,别看。

写法类型
'a'rune (int32)
"a"string
byte('a')byte (uint8)
s[i]byte
for _, r := range srune
package main import ( "bufio" "fmt" "os" ) func main() { in := bufio.NewReader(os.Stdin) var n int fmt.Fscan(in, &n) var beginStr, endStr string fmt.Fscan(in, &beginStr, &endStr) strSet := make(map[string]struct{}, n) for i := 0; i < n; i++ { var s string fmt.Fscan(in, &s) strSet[s] = struct{}{} } visitMap := make(map[string]int) q := make([]string, 0) q = append(q, beginStr) visitMap[beginStr] = 1 for len(q) != 0 { str := q[0] q = q[1:] for idx, val := range str { bs := []byte(str) for b := 'a'; b <= 'z'; b++ { if val == b { continue } bs[idx] = byte(b) newStr := string(bs) if newStr == endStr { fmt.Println(visitMap[str] + 1) return } if _, ok := strSet[newStr]; ok && visitMap[newStr] == 0 { visitMap[newStr] = visitMap[str] + 1 q = append(q, newStr) } } } } fmt.Println(0) }

注意最后检查是否存在没访问过的结点时,要跳过visited[0]

package main import ( "bufio" "fmt" "os" ) func main() { in := bufio.NewReader(os.Stdin) var n, k int fmt.Fscan(in, &n, &k) gragh := make([][]int, n+1) visited := make([]bool, n+1) for i := range gragh { gragh[i] = make([]int, 0) } for i := 0; i < k; i++ { var s, t int fmt.Fscan(in, &s, &t) gragh[s] = append(gragh[s], t) } visited[1] = true dfs(gragh, visited, 1) for i := 1; i < len(visited); i++ { if !visited[i] { fmt.Println(-1) return } } fmt.Println(1) } func dfs(gragh [][]int, visited []bool, cur int) { for _, next := range gragh[cur] { if !visited[next] { visited[next] = true dfs(gragh, visited, next) } } }

周长是边,不是格子。

package main import ( "bufio" "fmt" "os" ) var dir = [4][2]int{{0, 1}, {1, 0}, {-1, 0}, {0, -1}} func main() { in := bufio.NewReader(os.Stdin) var n, m int fmt.Fscan(in, &n, &m) grid := make([][]int, n) for i := range grid { grid[i] = make([]int, m) for j := range grid[i] { fmt.Fscan(in, &grid[i][j]) } } res := 0 for i := range grid { for j := range grid[i] { if grid[i][j] == 1 { for k := 0; k < 4; k++ { nextI := i + dir[k][0] nextJ := j + dir[k][1] if nextI < 0 || nextI >= len(grid) || nextJ < 0 || nextJ >= len(grid[0]) || grid[nextI][nextJ] == 0 { res++ } } } } } fmt.Println(res) }

相关新闻

  • 完爆ChatGPT!谷歌这招太狠:连你的「阴阳怪气」都能神还原
  • 【ISSN/ISBN双刊号】第三届电力电子与人工智能国际学术会议(PEAI 2026)
  • 【限时掌握】农业产量方差分析三步法:R语言快速建模与可视化

最新新闻

  • 如何配置stock-scanner数据源:AkShare数据获取与优化终极指南
  • 同一人公证书在国内可以办理吗?同一人公证书在国内怎么操作?解析身份 - 指上通
  • Exchange-AD-Privesc修复脚本详解:如何快速检测和修复Exchange部署中的Active Directory安全漏洞
  • 应用层核心(一):从FTP到DNS的进阶指南
  • 毕节黄金回收指南:六家靠谱店铺推荐,让闲置安心变现 - 清奢黄金上门回收
  • AI炒股不是预测股价,而是校准认知:信息保真度实战指南

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号