代码随想录冲冲冲 Day52 图论Part4

110. 字符串接龙

这道题是找每次更改一个字母 从初始字符串到最后一个字符串要多少次

那么其实就是找一个最短路径 最短路径 所以考虑Bfs

这里需要一个set取存给到的list

还需要一个map去存每一波到新的list中的元素时候的步数

while loop每次看新的单词的时候 要把这个单词当前的路线数量也拿出来

forloop有两个 一个是forloop字符的每一个位置 另一个就是forloop这个位置

所有的字母 如果通过变化出现了最后要得到的字符串 就是直接返回path+1

如果经过更改后这个新单词在单词list中 并且并没有被生成过 那么把这个单词

和path数放入visitmap中,然后把这个单词放入que中

105. 有向图的完全可达性

首先使用vector<list<int>> 取存整个表

每次到了新的就标记为已访问过 然后使用key继续向后传递

使用时 把1放入只是应该所有点都能访问到  如果出现false就返回-1

106. 岛屿的周长 

避免惯性思维的一道题 完全不用使用dfs和bfs

每次遇到陆地时 如果这个陆地的四周出现边界或者海洋 那么result++

最后返回出来就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值