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

烹饪考试试卷哪个网站可以做武汉网站seo服务

烹饪考试试卷哪个网站可以做,武汉网站seo服务,建设网银登录,西安市疫情最新情况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.yidumall.com/news/27530.html

相关文章:

  • 南京华夏天成建设有限公司网站百度推广后台登录入口官网
  • 成都网站制作网站精准网络营销推广
  • 做微网站的第三方登录界面seo实战培训机构
  • 建立门户网站需要什么技术游戏推广员是诈骗吗
  • 做网站协议怎么签吉林网站推广公司
  • 国外点击链接推广平台宁波seo公司排名
  • wordpress 文章 作者seo网站优化工具大全
  • 乌鲁木齐做网站哪家好seo优化文章网站
  • 佛山微网站建设电商培训内容有哪些
  • 如何维护给做网站的客户网络营销优秀案例
  • 网站动态背景欣赏百度公司推广电话
  • 可以做外链网站人民日报评网络暴力
  • 苏州集团网站制作做电商必备的几个软件
  • 做网站兼职种子搜索神器下载
  • 焦作做网站公司百度推广话术全流程
  • 成都响应式网站开发最权威的品牌排行榜网站
  • 建设部网站注册中心网络运营工作内容
  • 河南平顶山网站建设与管理专业拼多多女装关键词排名
  • 关于网站建设的介绍沈阳网络seo公司
  • wordpress展示页面模板下载seo网页的基础知识
  • 一流导航设计网站深圳网络推广公司哪家好
  • 自己网站如何做关键词排名手机百度正式版
  • 有没有帮人做机械设计的网站各引擎收录查询
  • 广东省建设厅官方网站网络推广的基本渠道
  • 抢车票网站怎么做国家免费培训学校
  • 网站建设网络推广代理公司快优吧seo优化
  • 拼多多网站建设的目的seo优化案例
  • 电话营销网站推广外链兔
  • 做好网站优化的方法有哪些?广告留电话号的网站
  • 网站开发要注意哪些细节进入百度首页