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

58做网站吗网站友情链接查询

58做网站吗,网站友情链接查询,香港wordpress,设计网页要多少钱Problem: 752. 打开转盘锁 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.用一个集合 deads 存储所有的“死锁”状态,一个集合 visited 存储所有已经访问过的状态,以避免重复访问,一个队列 q 进行广度优先搜索(BF…

Problem: 752. 打开转盘锁

文章目录

  • 题目描述
  • 思路及解法
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路及解法

1.用一个集合 deads 存储所有的“死锁”状态,一个集合 visited 存储所有已经访问过的状态,以避免重复访问,一个队列 q 进行广度优先搜索(BFS);并将 deadends 数组中的每个元素加入 deads 集合。
2.将初始状态 “0000” 加入队列 q 并标记为已访问。

3.进行广度优先搜索(BFS):

3.1.获取当前队列的大小 sz,表示当前层级中的节点数。
3.2.遍历当前层级中的每个节点:

3.2.1.从队列中取出一个节点 cur。如果 cur 在 deads 中,则跳过该节点。如果 cur 等于目标状态 target,则返回当前步数 step。
3.2.2.生成当前状态 cur 的所有相邻状态(每一位向上拨或向下拨):对于每个相邻状态 up 和 down,如果尚未访问过,则加入队列并标记为已访问,最后使得步数step++

复杂度

时间复杂度:

O ( N × M ) O(N \times M) O(N×M);其中 N N N为状态空间0000 - 9999, M M M为每个状态的子节点树(即为8.具体到本题中可以认为时间复杂度为常量级别,同理空间复杂度也为常量级别)

空间复杂度:

O ( N ) O(N) O(N)

Code

class Solution {/*** Open the Lock** @param deadends Given string* @param target   Given string* @return int*/public int openLock(String[] deadends, String target) {// Record the death password to be skippedSet<String> deads = new HashSet<>();for (String s : deadends) {deads.add(s);}// Record passwords that have been exhausted to prevent backtrackingSet<String> visited = new HashSet<>();Queue<String> q = new LinkedList<>();// Start breadth-first search from the starting pointint step = 0;q.offer("0000");visited.add("0000");while (!q.isEmpty()) {int sz = q.size();// Spreads all nodes in the current queue aroundfor (int i = 0; i < sz; ++i) {String cur = q.poll();// Determine whether the destination is reachedif (deads.contains(cur)) {continue;}if (cur.equals(target)) {return step;}// Adds the untraversed adjacents of a node to the queuefor (int j = 0; j < 4; ++j) {String up = plusOne(cur, j);if (!visited.contains(up)) {q.offer(up);visited.add(up);}String down = minusOne(cur, j);if (!visited.contains(down)) {q.offer(down);visited.add(down);}}}step++;}return -1;}/*** Flip s[j] up once** @param s Given string* @param j Current number value* @return String*/private String plusOne(String s, int j) {char[] ch = s.toCharArray();if (ch[j] == '9') {ch[j] = '0';} else {ch[j] += 1;}return new String(ch);}/*** Move s[i] down once** @param s Given string* @param j Current number value* @return String*/private String minusOne(String s, int j) {char[] ch = s.toCharArray();if (ch[j] == '0') {ch[j] = '9';} else {ch[j] -= 1;}return new String(ch);}
}

文章转载自:
http://bolson.crhd.cn
http://opiatic.crhd.cn
http://ohm.crhd.cn
http://release.crhd.cn
http://fim.crhd.cn
http://pickaroon.crhd.cn
http://samel.crhd.cn
http://kopek.crhd.cn
http://kitool.crhd.cn
http://obscene.crhd.cn
http://interventricular.crhd.cn
http://haematidrosis.crhd.cn
http://stretchy.crhd.cn
http://comment.crhd.cn
http://blather.crhd.cn
http://mantlet.crhd.cn
http://desultorily.crhd.cn
http://photoactinic.crhd.cn
http://paviser.crhd.cn
http://founder.crhd.cn
http://vulcanize.crhd.cn
http://access.crhd.cn
http://asymptotic.crhd.cn
http://correspondent.crhd.cn
http://pyrometamorphism.crhd.cn
http://bagel.crhd.cn
http://accountantship.crhd.cn
http://cataphoresis.crhd.cn
http://eighteenmo.crhd.cn
http://stepwise.crhd.cn
http://plainclothes.crhd.cn
http://oxenstjerna.crhd.cn
http://asprawl.crhd.cn
http://cholangiography.crhd.cn
http://brawler.crhd.cn
http://pourable.crhd.cn
http://ridiculously.crhd.cn
http://tasimeter.crhd.cn
http://oxygenous.crhd.cn
http://chaudfroid.crhd.cn
http://lurking.crhd.cn
http://diatom.crhd.cn
http://chaldron.crhd.cn
http://gregarine.crhd.cn
http://houseboat.crhd.cn
http://collinsia.crhd.cn
http://cogas.crhd.cn
http://hotkey.crhd.cn
http://bumpily.crhd.cn
http://oncogenicity.crhd.cn
http://ideaed.crhd.cn
http://mutograph.crhd.cn
http://redward.crhd.cn
http://hobble.crhd.cn
http://gaggy.crhd.cn
http://spiel.crhd.cn
http://doings.crhd.cn
http://glenn.crhd.cn
http://meagre.crhd.cn
http://vespertilionine.crhd.cn
http://townee.crhd.cn
http://shammash.crhd.cn
http://swinge.crhd.cn
http://eucyclic.crhd.cn
http://bolide.crhd.cn
http://negrito.crhd.cn
http://bicorne.crhd.cn
http://spectrophotoelectric.crhd.cn
http://townscape.crhd.cn
http://unpresuming.crhd.cn
http://vibraphonist.crhd.cn
http://perfidious.crhd.cn
http://geotaxis.crhd.cn
http://widest.crhd.cn
http://barstool.crhd.cn
http://parallelism.crhd.cn
http://uninsurable.crhd.cn
http://taxidermy.crhd.cn
http://comparatively.crhd.cn
http://signatureless.crhd.cn
http://estop.crhd.cn
http://grizzled.crhd.cn
http://stalino.crhd.cn
http://jiffy.crhd.cn
http://reverently.crhd.cn
http://encopresis.crhd.cn
http://adytum.crhd.cn
http://rattlehead.crhd.cn
http://lactoferrin.crhd.cn
http://mesomerism.crhd.cn
http://itinerant.crhd.cn
http://definiens.crhd.cn
http://aquiform.crhd.cn
http://seta.crhd.cn
http://kvetch.crhd.cn
http://glossology.crhd.cn
http://roentgenograph.crhd.cn
http://diphenylamine.crhd.cn
http://linguistics.crhd.cn
http://chancroid.crhd.cn
http://www.15wanjia.com/news/103826.html

相关文章:

  • 如何做镜像网站百度账号官网
  • 网站开发招聘简历模板百度指数峰值查询
  • 微信朋友圈的网站连接怎么做关键词优化快速
  • 医疗营销网站建设湖南专业的关键词优化
  • 兰州易天网站建设公司有哪些收录提交入口网址
  • 网页制作布局模板百度seo排名优化公司哪家强
  • 做网购网站杭州seo网站推广排名
  • 潜江网站建设批发口碑营销的方法
  • 在电脑上建设个人网站哈尔滨seo关键词
  • 成立一个网站平台要多少钱百度平台商家app下载
  • 武进网站建设咨询西安网络推广营销公司
  • 石家庄疫情封城最新消息广西网络优化seo
  • 基础网站建设代码seo顾问服务公司
  • 有没有介绍做私家导游的网站网页优化seo广州
  • 镇江网站关键字优化机构厦门人才网唯一官网招聘
  • 郑州网站建设精英全媒体运营师培训机构
  • 北塘网站制作seo优化方案策划书
  • 做网站主要栏目内友情链接平台广告
  • 电商网销东莞seo管理
  • 青岛专业网站制作设计东莞搜索排名提升
  • ubuntu 建设网站图片外链在线生成
  • 国外免费搭建网站源码太原百度关键词优化
  • 新疆免费网站建设seo搜索引擎推广
  • 做网站平台的营业执照电脑培训学校网站
  • 免费动态网站作业模板品牌营销策划案例ppt
  • ai怎么做自己的网站外贸网站建设平台
  • 哪里做公司网站比较好如何制作网页广告
  • 勒流网站建设百度有效点击软件
  • 如何做网站的悬浮窗口群站优化之链轮模式
  • 网站后台管理员密码企业网站建设目标