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

网站专业制作国家认可的赚钱游戏无广告

网站专业制作,国家认可的赚钱游戏无广告,南京平面设计培训,代做毕设的网站文章目录 3446.按对角线进行矩阵排序2711.对角线上不同值的数量差51.N皇后 在处理矩阵的时候,有时候题目就喜欢考察这个对角线元素的问题,这个时候,我们就要学会枚举这个对角线的元素 如果知道矩阵的一个元素(i,j),那么左上角的对角线的元素就…

文章目录

  • 3446.按对角线进行矩阵排序
  • 2711.对角线上不同值的数量差
  • 51.N皇后

  • 在处理矩阵的时候,有时候题目就喜欢考察这个对角线元素的问题,这个时候,我们就要学会枚举这个对角线的元素
    • 如果知道矩阵的一个元素(i,j),那么左上角的对角线的元素就是(x-1,y-1),右下角的对角线元素就是(i+1,j+1),通过一个循环,判断坐标没有超过边界,即可遍历完全部的元素
    • 如果知道对角线的开始的位置(通过两次枚举,分别是枚举左下角和右上角的情况),对于左下角的元素,一直枚举(x+1,y+1),最后判断这个x+1<=n-1就是到底即可,对于右上角的元素,一直枚举(x+1,y+1),然后判断y+1<=n-1,也就是列到最右边即可
    • 如何判断是否在一条对角线上?主对角线上,行-列的值相同,副对角线上,行+列的值相同
    • 注意,得另外开变量来枚举位置,不能修改当前的行与列

3446.按对角线进行矩阵排序

3446.按对角线进行矩阵排序

在这里插入图片描述

  • 按照上面说的第一种枚举方式
class Solution:def sortMatrix(self, grid: List[List[int]]) -> List[List[int]]:# 直接暴力求解n = len(grid)# 总的来说,右上角的数量就是 n-1,非递减,升序排序# 左下角的情况就是  n,非递增,也就是降序排序#处理右上角ans = [[0]*n for _ in range(n)]for i in range(1,n):r,l,store = 0,i,[] while l <= n-1:store.append(grid[r][l])r,l = r + 1,l+1store.sort()r,l,m = 0,i,0while l <= n-1:ans[r][l] = store[m]r,l,m = r+1,l+1,m+1# 处理左下角,j枚举的是行for j in range(n):r,l,store = j,0,[]# 最后都是会到达最后一行的while r <= n-1:store.append(grid[r][l])r,l = r+1,l+1store.sort(reverse=True)r,l,m = j,0,0while r <= n-1:ans[r][l] = store[m]r,l,m = r+1,l+1,m+1return ans

2711.对角线上不同值的数量差

2711.对角线上不同值的数量差

在这里插入图片描述

  • 按照第一种方式进行暴力枚举
class Solution:def differenceOfDistinctValues(self, grid: List[List[int]]) -> List[List[int]]:m,n = len(grid),len(grid[0])ans = [[0]*n for _ in range(m)]# 从最后一行开始for r in range(m):for l in range(n):# 直接强行暴力左上角与右下角storeleft, storeright = set(), set()# 当前位置(r,l),左上角的是 (r-1,l-1),右下角元素就是(r+1,l+1)# 暴力左上角tr,tl = r,lwhile tr - 1 >= 0 and tl - 1 >= 0:storeleft.add(grid[tr - 1][tl - 1])tr -= 1tl -= 1# 暴力右下角tr, tl = r, lwhile tr + 1 <= m - 1 and tl + 1 <= n - 1:storeright.add(grid[tr + 1][tl + 1])tr += 1tl += 1ans[r][l] = abs(len(storeleft) - len(storeright))return ans

51.N皇后

51.N皇后

在这里插入图片描述

  • 按照第三种方法,进行判断是否在同一对角线上+搜索
class Solution:def solveNQueens(self, n: int) -> List[List[str]]:# N 皇后问题 也是一个排列的问题,是一个全排列的问题# 在全排列的基础上增加了这个不能在同一个斜线的问题col = [0]*n  # col[i]定义为第i行的所放在的列号# 这个valid(r,c)表示当前所在的行号r,要放入的列号cdef valid(r,c):for R in range(r):C = col[R]if r+c == R+C or r-c == R-C:return Falsereturn Trueans = []def dfs(r,s):if r == n:ans.append(['.'*c + 'Q' + '.'*(n-1-c) for c in col])returnfor c in s:if valid(r,c):col[r] = c dfs(r+1,s-{c})dfs(0,set(range(n)))return ans

文章转载自:

http://rOcFKNR7.kjrLp.cn
http://5djjWufX.kjrLp.cn
http://lfW4rIxd.kjrLp.cn
http://uoPjahP7.kjrLp.cn
http://7FhlV0Cw.kjrLp.cn
http://P2Dwlw8E.kjrLp.cn
http://4ktSJC03.kjrLp.cn
http://GMCPau9K.kjrLp.cn
http://vsA7FqbN.kjrLp.cn
http://8QgJdFQJ.kjrLp.cn
http://BshaVczZ.kjrLp.cn
http://hb9Y3Rqq.kjrLp.cn
http://78HLHfjg.kjrLp.cn
http://SsJP3yTt.kjrLp.cn
http://SESlsFVB.kjrLp.cn
http://QlOwlRPI.kjrLp.cn
http://MXWxs8BN.kjrLp.cn
http://BhOeDHYA.kjrLp.cn
http://CyjfqBsS.kjrLp.cn
http://hKO905FE.kjrLp.cn
http://okXD7US9.kjrLp.cn
http://2ywu0e7G.kjrLp.cn
http://tGzSbNKN.kjrLp.cn
http://OApM3gcJ.kjrLp.cn
http://p9SlGyhp.kjrLp.cn
http://IdGBeEAM.kjrLp.cn
http://RgOCuu6Z.kjrLp.cn
http://MpUT05Jl.kjrLp.cn
http://I8TxzB4X.kjrLp.cn
http://zF8MXHDW.kjrLp.cn
http://www.dtcms.com/wzjs/661537.html

相关文章:

  • 湛江专业网站建设怎么做班级优化大师免费下载安装
  • 邢台做wap网站的公司网站icp备案费用
  • 招商加盟网站大全汇总南充做网站电话
  • 有彩虹代刷源码怎么做网站邢台做网站地方
  • 自学做网站要学什么西安网站seo哪家公司好
  • 医疗整形网站怎么做网站建设文化策划方案
  • 聚企360做的网站精品源码分享免费下载
  • .net网站开发中注册页面wordpress两边有空白
  • 宁波做网站有哪些公司公司自动生成网址的软件
  • 自己电脑做网站 外网无法访问做华为网站的还有哪些
  • 怎么进入公司网站做网站需要什么工具
  • WordPress 付费文章插件网站优化排名
  • 个人网站毕业设计论文什邡门户网站
  • 佛山网站开发招聘深圳市建设网络有限公司网站
  • 哪家企业做网站企业网站发展趋势
  • 福州网站建设兼职wordpress可以用的邮箱
  • 广东网站开发公司池州网站建设有哪些公司
  • 百度新闻搜索seo超级外链工具免费
  • 自己注册了个域名想做一个网站吗室内设计培训班哪家好
  • 网站建设图片教程视频教程国家住房和城乡建设网站
  • 360网站外链建设杭州房产网二手房
  • 怎么快速建立一个网站企业网站的作用
  • seo和网站建设那个先学wordpress发广告
  • 做高端网站的网络公司中国移动idc建设网站
  • 广州企业网站找哪里网站的内链优化怎样做
  • wordpress 标签井号取消连云港seo
  • 常州建行网站二手房交易注意事项
  • 网站改版 报价网站建设陆金手指科捷14
  • 做外贸首先要做网站wordpress减少数据库连接
  • wordpress主题无法安装这个包网站建设内部优化