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

肥东网站建设产品seo标题是什么

肥东网站建设,产品seo标题是什么,在线制作店铺logo图标免费,淘宝网页版电脑版入口Leetcode 3568. Minimum Moves to Clean the Classroom 1. 解题思路2. 代码实现 题目链接:3568. Minimum Moves to Clean the Classroom 1. 解题思路 这一题我的核心思路就是广度优先遍历遍历剪枝。 显然,我们可以给出一个广度优先遍历来给出所有可能…
  • Leetcode 3568. Minimum Moves to Clean the Classroom
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3568. Minimum Moves to Clean the Classroom

1. 解题思路

这一题我的核心思路就是广度优先遍历遍历+剪枝。

显然,我们可以给出一个广度优先遍历来给出所有可能的走法直至无法继续或者捡完所有垃圾。

但是,上述情况事实上可能会无限循环下去,而且所有的走法也非常浪费,因此,我们需要对其进行剪枝,从而优化我们的计算。

而这里,我的剪枝思路就是:

  • 如果一个点曾经走过,则当他重新回到这个点的时候,他必须满足以下两个条件之一,否则这条路线必然不会是最优的,可以直接忽略:
    • 他在中间的过程中捡过了新的垃圾;
    • 他在中间的过程中补充了能量(即回来时的能量值大于之前来的时候的能量值)

由此,我们就能对上述问题进行解答了。

2. 代码实现

给出python代码实现如下:

class Solution:def minMoves(self, classroom: List[str], energy: int) -> int:n, m = len(classroom), len(classroom[0])k, mapping, seen = 0, {}, {}for i in range(n):for j in range(m):if classroom[i][j] == "L":mapping[(i, j)] = kk += 1elif classroom[i][j] == "S":start = (0, 0, -energy, i, j)seen[(0, i, j)] = energyif k == 0:return 0q = [start]while q:step, status, e, i, j = heapq.heappop(q)status = -statuse = -eif status == (2**k)-1:return stepelif e <= 0:continueif i-1 >= 0 and classroom[i-1][j] != "X":new_status = status if classroom[i-1][j] != "L" else status | (1 << mapping[(i-1, j)])new_energy = e-1 if classroom[i-1][j] != "R" else energyif seen.get((new_status, i-1, j), -1) < new_energy:heapq.heappush(q, (step+1, -new_status, -new_energy, i-1, j))seen[(new_status, i-1, j)] = new_energyif i+1 < n and classroom[i+1][j] != "X":new_status = status if classroom[i+1][j] != "L" else status | (1 << mapping[(i+1, j)])new_energy = e-1 if classroom[i+1][j] != "R" else energyif seen.get((new_status, i+1, j), -1) < new_energy:heapq.heappush(q, (step+1, -new_status, -new_energy, i+1, j))seen[(new_status, i+1, j)] = new_energyif j-1 >= 0 and classroom[i][j-1] != "X":new_status = status if classroom[i][j-1] != "L" else status | (1 << mapping[(i, j-1)])new_energy = e-1 if classroom[i][j-1] != "R" else energyif seen.get((new_status, i, j-1), -1) < new_energy:heapq.heappush(q, (step+1, -new_status, -new_energy, i, j-1))seen[(new_status, i, j-1)] = new_energyif j+1 < m and classroom[i][j+1] != "X":new_status = status if classroom[i][j+1] != "L" else status | (1 << mapping[(i, j+1)])new_energy = e-1 if classroom[i][j+1] != "R" else energyif seen.get((new_status, i, j+1), -1) < new_energy:heapq.heappush(q, (step+1, -new_status, -new_energy, i, j+1))seen[(new_status, i, j+1)] = new_energyreturn -1

提交代码评测得到:耗时3097ms,占用内存58.28MB。

http://www.dtcms.com/wzjs/303741.html

相关文章:

  • 模仿别人网站侵权自媒体135免费版下载
  • 简单网上书店网站建设php沧州网站seo
  • 国外公司网站模板百度下载免费安装
  • 做网站建设的目的html网页制作成品
  • 计算机的专业有哪些黑帽seo工具
  • 衣服图案设计网站网络营销的营销理念
  • 烟台做网站建设电话站长工具查询域名信息
  • 资阳市网站建设杭州seo公司服务
  • 沭阳网站制作seo查询优化
  • 网站建设科技北京有限公司百度广告推广电话
  • 聊城做网站推广最牛餐饮营销手段
  • 做网站 搜索引擎网络推广方法怎么做
  • 襄阳万家灯火网站建设重庆seo推广服务
  • 福州网站设计大概多少钱系统优化助手
  • 湖南中小企业建站价格推推蛙seo
  • 乡政府网站建设实施方案谷歌seo外包
  • 网站制作属于什么科目自媒体平台注册入口官网
  • 珠海市网站建设开发公司海会网络做的网站怎么做优化
  • wordpress 更改 虚拟目录百度seo搜索营销新视角
  • html5网站是用什么软件做的广州抖音推广公司
  • 深圳怎么建设网站怎么理解搜索引擎优化
  • 图书馆网站开发的前期准备zac博客seo
  • 什么网站免费可以做app公司品牌宣传
  • 做网站 信息集成过程的顺序2023新闻大事件摘抄
  • appmakr手机版福州seo结算
  • asp装修网站源码营销策略有哪几种
  • 制作英文网站案例网络营销主要特点有哪些
  • 有什么网站可以做名片邢台市seo服务
  • 网站图片怎么做优化seo的基本工作内容
  • 支付网站建设费进什么科目网站收录怎么弄