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

烹饪考试试卷哪个网站可以做app投放渠道有哪些

烹饪考试试卷哪个网站可以做,app投放渠道有哪些,教育行业网站制作,wordpress 菜单 标签Leetcode - 433:最小基因变化 题目: 基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 A、C、G 和 T 之一。 假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化…

Leetcode - 433:最小基因变化

题目:

基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 'A''C''G' 和 'T' 之一。

假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。

  • 例如,"AACCGGTT" --> "AACCGGTA" 就是一次基因变化。

另有一个基因库 bank 记录了所有有效的基因变化,只有基因库中的基因才是有效的基因序列。(变化后的基因必须位于基因库 bank 中)

给你两个基因序列 start 和 end ,以及一个基因库 bank ,请你找出并返回能够使 start 变化为 end 所需的最少变化次数。如果无法完成此基因变化,返回 -1 。

注意:起始基因序列 start 默认是有效的,但是它并不一定会出现在基因库中。

示例 1:

输入:start = "AACCGGTT", end = "AACCGGTA", bank = ["AACCGGTA"]
输出:1

示例 2:

输入:start = "AACCGGTT", end = "AAACGGTA", bank = ["AACCGGTA","AACCGCTA","AAACGGTA"]
输出:2

示例 3:

输入:start = "AAAAACCC", end = "AACCCCCC", bank = ["AAAACCCC","AAACCCCC","AACCCCCC"]
输出:3

笔记:

这道题是真抽象,对字符串进行bfs,这里的思路是:直接对字符串去处理不要讲单个字符单独处理。首先建立一个处理队列,将start加入其中,此时队列中的元素表示未处理的元素,接下来记录当前层的大小,遍历当前层的元素(只有start一个),接着对字符串进行处理,这里我们创建一个数组来存储字符可变化的样子(也就是方向数组),从当前处理的字符串的头开始向后遍历,一一替换当前遍历到的位置,如果替换后的字符串可以在bank中找到并且没有被访问过我们就将其加入que的第二层,在遍历完当前层元素后step++代表变换元素的次数。

注意:

(1)当我们向队列加入一个元素后,立即将其标记为已访问。

(2)将vector类型的bank数组改为set数组更好处理:

在一个set数组中查找元素是否存在:set.count(目标)

class Solution {
public:int minMutation(string startGene, string endGene, vector<string>& bank) {unordered_set<string> visited;unordered_set<string> bank_set(bank.begin(), bank.end());char keys[4] = {'A', 'C', 'G', 'T'};int step = 0;queue<string> que;que.push(startGene);visited.insert(startGene);while(!que.empty()){int size = que.size();for(int i = 0; i < size; i++){string cur = que.front();que.pop();if(cur == endGene){return step;}for(int j = 0; j < cur.size(); j++){for(int k = 0; k < 4; k++){string next = cur;next[j] = keys[k];if(bank_set.count(next) && !visited.count(next)){que.push(next);visited.insert(next);}}}}step++;}return -1;}
};

http://www.hrbkazy.com/news/30854.html

相关文章:

  • 嘉兴免费做网站信息流广告代理商排名
  • 征婚网站上教人做恒指期货购买友情链接
  • 网站开发销售提成如何做外贸网站的推广
  • 怎么制作网站半透明背景刘连康seo培训哪家强
  • 个人网站设计主题seo关键词优化怎么做
  • 威海微网站建设百度竞价排名危机事件
  • 青岛模板自助建站李勇seo的博客
  • 网站怎么做登录界面杭州关键词优化外包
  • 网站主色调南昌百度seo
  • 网站seo哪家公司好西青seo
  • 宝塔建站网址社群运营
  • 注册资本可以随便填吗性价比高seo排名优化的
  • 响应式网站有哪些百度统计怎么用
  • 出版社网站必须做企业可信认证嘛培训心得体会感悟
  • 中英企业网站管理系统项目营销推广方案
  • 全国 网站备案 数量百度网址大全官方下载
  • 备案的网站转移搜索引擎营销sem包括
  • 东西湖做网站谷歌play商店官网
  • 免费的代码分享网站网络推广平台有哪些渠道
  • 做亚马逊和淘宝网站企业网址搭建
  • 局域网内服务器做网站沈阳今日新闻头条
  • 设计师个人网站源码石家庄seo外包的公司
  • 企业网站建设服务商网络推广代理
  • 网站设计哪家稳定百度天眼查
  • wordpress 简历重庆seo网站排名
  • 专业网站制作的费用百度做广告多少钱一天
  • 东莞市非凡网站建设会计培训班多少钱
  • wordpress建设的网站近三年成功的营销案例
  • 电子商务的网站设计引流推广多少钱一个
  • 网站建设服务商排名2021搜索引擎排名