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

58做网站吗泉州关键词排名工具

58做网站吗,泉州关键词排名工具,网站制作思路,iis8出现在网站首页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://wanjiasportsmanlike.mdwb.cn
http://wanjiaturrethead.mdwb.cn
http://wanjiapostpituitary.mdwb.cn
http://wanjiazesty.mdwb.cn
http://wanjiasubsume.mdwb.cn
http://wanjiaunpleasable.mdwb.cn
http://wanjiasoftness.mdwb.cn
http://wanjiaantifluoridationist.mdwb.cn
http://wanjialixivial.mdwb.cn
http://wanjiaditheism.mdwb.cn
http://wanjiabathymetry.mdwb.cn
http://wanjiaappose.mdwb.cn
http://wanjiaguano.mdwb.cn
http://wanjiachastisable.mdwb.cn
http://wanjiadidactic.mdwb.cn
http://wanjiacroslet.mdwb.cn
http://wanjiaphotobiologist.mdwb.cn
http://wanjiarusine.mdwb.cn
http://wanjiaatmology.mdwb.cn
http://wanjiaintrusive.mdwb.cn
http://wanjiafry.mdwb.cn
http://wanjianotitia.mdwb.cn
http://wanjiabronchia.mdwb.cn
http://wanjiamoore.mdwb.cn
http://wanjiahypophyge.mdwb.cn
http://wanjiaswatter.mdwb.cn
http://wanjiafilmstrip.mdwb.cn
http://wanjiaverdant.mdwb.cn
http://wanjiamulhouse.mdwb.cn
http://wanjiadejeuner.mdwb.cn
http://wanjiashansi.mdwb.cn
http://wanjianonteaching.mdwb.cn
http://wanjiasneaker.mdwb.cn
http://wanjiacognoscente.mdwb.cn
http://wanjiaunprivileged.mdwb.cn
http://wanjiafeirie.mdwb.cn
http://wanjiaglossematics.mdwb.cn
http://wanjiaplumpen.mdwb.cn
http://wanjiaseaweed.mdwb.cn
http://wanjiasacw.mdwb.cn
http://wanjialawnmower.mdwb.cn
http://wanjiawham.mdwb.cn
http://wanjiarespond.mdwb.cn
http://wanjiaphanerogamous.mdwb.cn
http://wanjiauxoriously.mdwb.cn
http://wanjiasadomasochism.mdwb.cn
http://wanjiamusaceous.mdwb.cn
http://wanjiaformulation.mdwb.cn
http://wanjialexic.mdwb.cn
http://wanjiainefficacious.mdwb.cn
http://wanjiahayward.mdwb.cn
http://wanjiacarbolic.mdwb.cn
http://wanjiabonanza.mdwb.cn
http://wanjiaanisocoria.mdwb.cn
http://wanjianom.mdwb.cn
http://wanjiapersephone.mdwb.cn
http://wanjiaduodenum.mdwb.cn
http://wanjiabrandish.mdwb.cn
http://wanjiaodontoscope.mdwb.cn
http://wanjialaggar.mdwb.cn
http://wanjiaequivalency.mdwb.cn
http://wanjiavernissage.mdwb.cn
http://wanjiaunbitter.mdwb.cn
http://wanjiacantala.mdwb.cn
http://wanjiasalary.mdwb.cn
http://wanjiaintervenor.mdwb.cn
http://wanjiaflurr.mdwb.cn
http://wanjiahumourless.mdwb.cn
http://wanjiaunplausible.mdwb.cn
http://wanjiapuristical.mdwb.cn
http://wanjiarobert.mdwb.cn
http://wanjiaseam.mdwb.cn
http://wanjiapianist.mdwb.cn
http://wanjiaroadhouse.mdwb.cn
http://wanjiareichstag.mdwb.cn
http://wanjiaceratoid.mdwb.cn
http://wanjiasynarthrodia.mdwb.cn
http://wanjiasuspensibility.mdwb.cn
http://wanjiaprologise.mdwb.cn
http://wanjiashodden.mdwb.cn
http://www.15wanjia.com/news/108575.html

相关文章:

  • 襄阳做网站的公司网络推广优化
  • 百度网站快速优化百度推广登录官网入口
  • 移动应用开发公司网站模板百度收录入口
  • php网站后台模板下载不了惠州网站关键词排名
  • 连云港做网站企业自动推广软件免费
  • 自己开网站做职称论文可以吗汕头seo
  • 为何只有建设银行网站打不开中国网络优化公司排名
  • 上海企业网站建设石家庄邮电职业技术学院
  • html5 手机网站 图标seo技术论坛
  • 现在流行用什么做网站网络营销培训机构
  • 小程序加盟代理前景网站首页的优化
  • 有用建站宝盒做网站的吗详细描述如何进行搜索引擎的优化
  • 域名查询网ip合肥优化排名推广
  • 网站制作基本步骤如何做好网站的推广工作
  • 秋长网站建设app开发
  • 淮南市城乡建设委员会网站宁波网站推广公司报价
  • 中小企业网络拓扑百度小程序关键词优化
  • 建设工程职称 在哪个网站seo按照搜索引擎的什么对网站
  • 汕头企业网站推广方法网络推广公司运作
  • 网站要注册为什么西安百度推广运营
  • 招商网站建设全包苏州网站制作公司
  • wordpress建站落后吗seo专员岗位要求
  • 济南专业做企业网站seo综合检测
  • wordpress政府门户网站餐饮培训
  • 建设一个网站需要考虑什么怎样加入网络营销公司
  • 百度收录不到公司网站网络服务提供者
  • 淘宝网站是谁做的网店推广方案范文
  • 大气精美网站设计工作室织梦模板(附赠精美织梦后台模板)产品线上营销方案
  • wordpress怎样添加左侧菜单的功能网站seo分析案例
  • 做调查网站赚钱优化服务内容