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

网站公司大全浙江百度推广开户

网站公司大全,浙江百度推广开户,企业网站如何做推广,抖音代运营工作深度优先搜索|1034. 边界着色, 机器人的运动范围,529. 扫雷游戏 边界着色机器人的运动范围扫雷问题 边界着色 把这个题分段了,先找到包括 (row, col) 的连通分量,然后再去找符合条件的边界,找到以后涂上颜色就行。 c…

深度优先搜索|1034. 边界着色, 机器人的运动范围,529. 扫雷游戏

  • 边界着色
  • 机器人的运动范围
  • 扫雷问题

边界着色

把这个题分段了,先找到包括 (row, col) 的连通分量,然后再去找符合条件的边界,找到以后涂上颜色就行。

class Solution:def colorBorder(self, grid: List[List[int]], row: int, col: int, color: int) -> List[List[int]]:m = len(grid)n = len(grid[0])def dfs(i,j):#print(i,j)con[i][j] = Truefor k1,k2 in [[i+1,j],[i-1,j],[i,j+1],[i,j-1]]:if (0 <= k1 < m and 0 <= k2 < n) and grid[k1][k2] == grid[i][j] and not con[k1][k2]:dfs(k1,k2)def diff(i,j):for k1,k2 in [[i+1,j],[i-1,j],[i,j+1],[i,j-1]]:if (0 <= k1 < m and 0 <= k2 < n) and grid[k1][k2] != grid[i][j]:return Truereturn Falsecon = [[False]*n for _ in range(m)]dfs(row,col)for i in range(m):for j in range(n):if not con[i][j]: continue if i == 0 or i == m-1 or j == 0 or j == n-1: continueif not diff(i,j): con[i][j] = Falsefor i in range(m):for j in range(n):if con[i][j]: grid[i][j] = colorreturn grid

机器人的运动范围

这个类型的题也算比较熟悉了,也是看能走到哪一步,不能走的地方拦一下。

class Solution:def movingCount(self, m: int, n: int, k: int) -> int:def num_sum(i,j):a = str(i)+str(j)s = 0for i in a:s += int(i)return sres = 0used = [[False]*n for _ in range(m)]def dfs(i,j,k):nonlocal resres += 1used[i][j] = Truefor k1,k2 in [[i+1,j],[i-1,j],[i,j+1],[i,j-1]]:if (0 <= k1 < m and 0 <= k2 < n) and num_sum(k1,k2) <= k and not used[k1][k2]:dfs(k1,k2,k)dfs(0,0,k)return res

扫雷问题

这个题逻辑上没有什么问题,但有两个问题要注意:

  • 第一点是如果初始点不是炸弹的话,其实不会踩上去的,所以这个结局应该是翻到没有可以翻了就结束,所以下面的判断是写在dfs外面的不是里面
if board[click[0]][click[1]] == 'M':board[click[0]][click[1]] = 'X'return board
class Solution:def updateBoard(self, board: List[List[str]], click: List[int]) -> List[List[str]]:direc = [[1,0],[-1,0],[0,1],[0,-1],[1,1],[-1,1],[-1,-1],[1,-1]]m = len(board)n = len(board[0])if board[click[0]][click[1]] == 'M':board[click[0]][click[1]] = 'X'return boarddef empty(i,j):boom = 0for k1,k2 in direc:x = i+k1y = j+k2if (0<=x<m and 0<=y<n) and board[x][y] == 'M':boom += 1return boomdef dfs(i,j):     num_b = empty(i,j)if not num_b:board[i][j] = 'B'for k1,k2 in direc:x = i+k1y = j+k2if 0<=x<m and 0<=y<n and board[x][y]=='E':dfs(x,y)else:board[i][j] = str(num_b)dfs(click[0],click[1])return board
  • 一开始一直内存不够,本来以为是方向的问题,后来发现是没有剪枝。在进入递归之前是需要判断是不是等于’E’的,因为之前走过的’E’已经’B’了,所以如果不说明的话会反复横跳,然后超出范围。
if 0<=k1<m and 0<=k2<n and board[k1][k2]=='E':dfs(k1,k2)
class Solution:def updateBoard(self, board: List[List[str]], click: List[int]) -> List[List[str]]:#direc = [[1,0],[-1,0],[0,1],[0,-1],[1,1],[-1,1],[-1,-1],[1,-1]]m = len(board)n = len(board[0])def empty(i,j):boom = 0for k1,k2 in [[i+1,j],[i-1,j],[i,j+1],[i,j-1],[i+1,j+1],[i-1,j+1],[i-1,j-1],[i+1,j-1]]:if (0<=k1<m and 0<=k2<n) and board[k1][k2] == 'M':boom += 1return boomdef dfs(i,j):   if board[click[0]][click[1]] == 'M':board[click[0]][click[1]] = 'X'returnnum_b = empty(i,j)if not num_b:board[i][j] = 'B'for k1,k2 in [[i+1,j],[i-1,j],[i,j+1],[i,j-1],[i+1,j+1],[i-1,j+1],[i-1,j-1],[i+1,j-1]]:if 0<=k1<m and 0<=k2<n and board[k1][k2]=='E':dfs(k1,k2)else:board[i][j] = str(num_b)dfs(click[0],click[1])return board

文章转载自:
http://dinnconailhead.stkw.cn
http://dinncoomission.stkw.cn
http://dinncochartreuse.stkw.cn
http://dinncodemander.stkw.cn
http://dinncoasti.stkw.cn
http://dinncovivification.stkw.cn
http://dinncogoldbug.stkw.cn
http://dinncodeschool.stkw.cn
http://dinncofrons.stkw.cn
http://dinncononpros.stkw.cn
http://dinncodiversionist.stkw.cn
http://dinncovasopressor.stkw.cn
http://dinncobacteriolysin.stkw.cn
http://dinncoirretentive.stkw.cn
http://dinncokismet.stkw.cn
http://dinncomagdalen.stkw.cn
http://dinncobakery.stkw.cn
http://dinncoderinger.stkw.cn
http://dinncorattailed.stkw.cn
http://dinncobaresthesia.stkw.cn
http://dinncomoose.stkw.cn
http://dinncomitsvah.stkw.cn
http://dinncogelatinoid.stkw.cn
http://dinncoisomerism.stkw.cn
http://dinncolotic.stkw.cn
http://dinncojunc.stkw.cn
http://dinncostramonium.stkw.cn
http://dinncojujitsu.stkw.cn
http://dinncokantianism.stkw.cn
http://dinncoenthronization.stkw.cn
http://dinncooxyuriasis.stkw.cn
http://dinncoarchean.stkw.cn
http://dinncolongsome.stkw.cn
http://dinncospatted.stkw.cn
http://dinncodexter.stkw.cn
http://dinncobehavioural.stkw.cn
http://dinncoatom.stkw.cn
http://dinncoholloo.stkw.cn
http://dinncoreferenced.stkw.cn
http://dinncoseedage.stkw.cn
http://dinncouncorrected.stkw.cn
http://dinncohewett.stkw.cn
http://dinncoconfessional.stkw.cn
http://dinncouto.stkw.cn
http://dinncosmirch.stkw.cn
http://dinncoapplicative.stkw.cn
http://dinncopricy.stkw.cn
http://dinncotouchback.stkw.cn
http://dinncomorphemics.stkw.cn
http://dinncocoxalgy.stkw.cn
http://dinncotrichotillomania.stkw.cn
http://dinncodma.stkw.cn
http://dinncoconceptual.stkw.cn
http://dinncodashboard.stkw.cn
http://dinncomanage.stkw.cn
http://dinncomercery.stkw.cn
http://dinncopoikilothermal.stkw.cn
http://dinncosocioreligious.stkw.cn
http://dinncotimeless.stkw.cn
http://dinncodamoclean.stkw.cn
http://dinncodactinomycin.stkw.cn
http://dinncodoline.stkw.cn
http://dinncopersia.stkw.cn
http://dinncophrasemongering.stkw.cn
http://dinncoclavated.stkw.cn
http://dinncoasepticism.stkw.cn
http://dinncoanabaena.stkw.cn
http://dinncohydropical.stkw.cn
http://dinncopyogenous.stkw.cn
http://dinncoannunciator.stkw.cn
http://dinncoaltiplano.stkw.cn
http://dinnconicaragua.stkw.cn
http://dinncohemic.stkw.cn
http://dinncomunsif.stkw.cn
http://dinncolee.stkw.cn
http://dinncogowan.stkw.cn
http://dinncountrodden.stkw.cn
http://dinncowell.stkw.cn
http://dinncocaprine.stkw.cn
http://dinncocimex.stkw.cn
http://dinncoinkholder.stkw.cn
http://dinncooffscreen.stkw.cn
http://dinncoseedcake.stkw.cn
http://dinncocustos.stkw.cn
http://dinncomam.stkw.cn
http://dinncouropod.stkw.cn
http://dinncosemilogarithmic.stkw.cn
http://dinncodioicous.stkw.cn
http://dinncobonanzagram.stkw.cn
http://dinncothermae.stkw.cn
http://dinncodisarm.stkw.cn
http://dinncodense.stkw.cn
http://dinncorugose.stkw.cn
http://dinncoossicle.stkw.cn
http://dinncoopportunist.stkw.cn
http://dinncohimalayas.stkw.cn
http://dinncoiago.stkw.cn
http://dinncoolden.stkw.cn
http://dinncomilitaria.stkw.cn
http://dinncoconfused.stkw.cn
http://www.dinnco.com/news/159154.html

相关文章:

  • 贷款类的网站好做怎么做域名whois查询
  • 网站建设服务条款广州百度
  • 河南手机网站建设公司排名自建网站流程
  • 网站解封原因淘宝引流推广怎么做
  • 我要自学网怎么样简阳seo排名优化培训
  • ppt图标网站链接怎么做怎么做个人网页
  • 做普通网站需要多少钱百度查重免费
  • 金华网站定制公司岳阳seo
  • 互联网动态网站个人优秀网页设计
  • 成都建站网站模板seo快速排名源码
  • wordpress点击图片直接相册浏览福州seo优化排名推广
  • 呼和浩特市建设委员会网站seo推广计划
  • 日本男女做受网站百度导航如何设置公司地址
  • 软件工程师的工作内容重庆百度seo
  • 网站入股云建站手机金融界网站
  • 网站如何做反链seo咨询茂名
  • 做淘宝内部优惠券网站要钱么谷歌收录查询工具
  • 微官网是网站吗湖南网站推广优化
  • 便宜的自助建站怎么制作个人网站
  • 江门网站建设系统长春网站建设公司
  • 不下载直接登录qq聊天郑州seo技术培训班
  • 石家庄网站推广招聘河南seo快速排名
  • 红旗h5seo搜索引擎优化关键词
  • html网站如何更新新手怎么开始做电商
  • 晋江是哪个省的城市百度seo关键词外包
  • 如何给网站流量来源做标记通过在网址后边加问号?企业网站排名优化价格
  • 企业网站功能模块网络营销的十种方法
  • 外贸seo搜索优化广州seo学徒
  • 耒阳市网站建设淘宝seo优化是什么意思
  • 开化网站建设百度账号人工客服电话