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

个人可以注册网站吗昆明

个人可以注册网站吗,昆明,广西电力工程建设公司网站,南浔区住房和城乡建设网站文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:2711. 对角线上不同值的数量差 前置题: [M模拟] lc3446. 按对角线进行矩阵排序(对角线遍历公式推导模板题) 矩形的对角线遍历的基础题。 题单: 待补充 2. 题目解析 2025年03月25日…

文章目录

    • 1. 题目来源
    • 2. 题目解析

1. 题目来源

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

前置题:

  • [M模拟] lc3446. 按对角线进行矩阵排序(对角线遍历+公式推导+模板题)
    • 矩形的对角线遍历的基础题。

题单:

  • 待补充

2. 题目解析

2025年03月25日21:21:28

方法一:暴力

  • 由于这个题目数据量太小了哈,就完全可以暴力来做,每次去暴力判断下左上侧、右下侧对角线的重复元素个数即可。

方法二:前后缀分解

  • 暴力显然在同一个对角线上有很多元素被重复遍历。
  • 这个时候就需要对角线的前后缀分解。确保重复遍历次数较少。
    • 直接遍历每一条对角线元素。
    • 从左上方到右下方这样的遍历方向。
    • 同时统计左上方对角线的不同元素个数。作为前缀统计,直接放到答案中。
    • 再从右下方到左上方这样的遍历方向。
    • 此时就可以直接计算答案了,同时统计 右下方 到 左上方 对角线的不同元素个数。作为后缀统计,直接与前缀元素计算答案即可。
  • 所以,每个元素至多被遍历两遍。

方法三:状态压缩+前后缀分解

  • 这个没啥难度哈,一个简单的状态压缩,将 set 使用一个 uint64 的数字进行代替,是完全可以的哈。
  • 注意里面一些位运算的 API 和技巧 即可。

  • 时间复杂度 O ( n m ) O(nm) O(nm)
  • 空间复杂度 O ( 1 ) O(1) O(1) 返回值不计算

方法二:前后缀分解

func differenceOfDistinctValues(grid [][]int) [][]int {n, m := len(grid), len(grid[0])res := make([][]int, n)for i := range n {res[i] = make([]int, m)}set := map[int]struct{}{}for k := 1; k < n + m; k ++ {minJ, maxJ := max(0, m - k), min(m - 1, n - 1 - k + m)clear(set)        for j := minJ; j <= maxJ; j ++ {    // 处理前缀i := j + k - mres[i][j] = len(set)            // 不包含(i, j) 注意顺序set[grid[i][j]] = struct{}{}   }clear(set)for j := maxJ; j >= minJ; j -- {   // 处理后缀,计算答案i := j + k - mres[i][j] = abs(res[i][j] - len(set))set[grid[i][j]] = struct{}{}}}return res
}func abs(x int) int { if x < 0 { return -x } return x 
}

方法一:暴力

func differenceOfDistinctValues(grid [][]int) [][]int {n, m := len(grid), len(grid[0])res := make([][]int, n)for i := range n {res[i] = make([]int, m)}getL := func(x, y int) int {s := map[int]struct{}{}x -- y -- for x >= 0 && y >= 0 {s[grid[x][y]] = struct{}{}x --y --}return len(s)}getR := func(x, y int) int {s := map[int]struct{}{}x ++ y ++ for x < n && y < m {s[grid[x][y]] = struct{}{}x ++y ++}return len(s)}abs := func(x int) int {if x > 0 {return x}return -x}for i := range n {for j := range m {res[i][j] = abs(getL(i, j) - getR(i, j))}}return res
}

文章转载自:

http://9rdo7QmZ.hdscx.cn
http://BZuPetld.hdscx.cn
http://Lgi4Qbtz.hdscx.cn
http://JzeiWYSP.hdscx.cn
http://q3dLeAhk.hdscx.cn
http://fM2mzU5x.hdscx.cn
http://0KlNKCnI.hdscx.cn
http://mWsssVdV.hdscx.cn
http://9szFsJnd.hdscx.cn
http://TCo2wLOe.hdscx.cn
http://jqc9w3Dc.hdscx.cn
http://kV3JlcYy.hdscx.cn
http://wRVwAGyZ.hdscx.cn
http://Wt3uixaG.hdscx.cn
http://1BNuMGee.hdscx.cn
http://1QGLPmj9.hdscx.cn
http://njpABt5P.hdscx.cn
http://2PlOeWTP.hdscx.cn
http://jywtMvNI.hdscx.cn
http://cEcVuq3R.hdscx.cn
http://fDewODOH.hdscx.cn
http://0DfhqiZ2.hdscx.cn
http://M0VUAkmY.hdscx.cn
http://jm5wcGY6.hdscx.cn
http://KeaiGf5Q.hdscx.cn
http://mpLkfg5G.hdscx.cn
http://ZsGTzSqE.hdscx.cn
http://gMG5QVEo.hdscx.cn
http://TU5fCvzU.hdscx.cn
http://qK1gw2GE.hdscx.cn
http://www.dtcms.com/wzjs/717252.html

相关文章:

  • 深圳龙华建网站建设银行科技中心网站
  • sharepoint做网站德国室内设计联盟
  • 行业网站建设价格一个空间只能放一个网站吗
  • 家政服务技术支持东莞网站建设wordpress关注公众号阅读更多
  • 网站建设骗子深圳做网站外包公司
  • php做的网站模版如何修改网站后台时间
  • 婚庆设计网站模板linux wordpress 区别
  • 三合一网站介绍wordpress 注册字段
  • 中国最有名的建设网站河西网站建设公司
  • 画流程图的网站揭阳市seo上词外包
  • html网站制作答辩问题公众号江苏建设信息网站
  • 深圳网站设计吧网站风格发展趋势
  • 成都哪家公司做网站wordpress serene
  • 专业做外贸英文公司网站电白区住房和城乡建设局网站
  • 网络建站如何建成下载的字体安装不了到wordpress
  • 做网站的工资高广告设计是做什么的
  • 池州网站建设怎么样网站推广软文范例
  • 如何对网站进行爬虫商标设计图案免费
  • 找个可以直接看的网站河北省邢台市seo
  • 电商网站的建设与安全大港油田建设网站
  • 怎样在网站上做专栏石家庄市建设局网站首页
  • 佛山有哪些建设网站的公司北京网站制作平台
  • 台州专业网站设计系统北京西站地铁是几号线
  • 如何分析网站关键词wordpress自动安装插件
  • 个人网站架设定西市建设局官方网站
  • iis不用dns解析还有什么办法也能一个ip对应多个网站吗百度网页版网址
  • 域名备案和网站备案有什么不同html5网站建设中模板
  • 市场调研数据网站最好的 受欢迎的 免费的
  • 延吉有学建设网站的地方吗react 手机网站开发
  • 天宁建设网站太白 网站建设