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

做网站编辑需要经验吗wordpress最新文章字段

做网站编辑需要经验吗,wordpress最新文章字段,如何对自己做的php网站加密,网站的技术分析LeetCode 1007 行相等的最少多米诺旋转 原题英文:Minimum Domino Rotations For Equal Row 难度:中等 | 标签:数组、贪心 1 题目重述 给定两行长度相同的多米诺骨牌: tops[i] 表示第 i 张骨牌上面的数字;bottoms[…

LeetCode 1007 行相等的最少多米诺旋转

原题英文:Minimum Domino Rotations For Equal Row
难度:中等 | 标签:数组、贪心


1 题目重述

给定两行长度相同的多米诺骨牌:

  • tops[i] 表示第 i 张骨牌上面的数字;
  • bottoms[i] 表示第 i 张骨牌下面的数字。

你可以任选一些骨牌把它们翻转(即交换这一张牌的上下数字)。
请返回 最少需要翻转多少次,才能让 上面一行全部相等下面一行全部相等
如果无论怎么翻也做不到,返回 -1


2 解题思路

2.1 关键观察

  1. 候选数字只有 2 个
    假设最终能让某一行全部等于 x,那么 x 必定出现在第一张牌的上面或下面。
    因此我们只需要检验 tops[0]bottoms[0] 这两个数字即可。

  2. 一次扫描即可统计旋转次数
    对于候选数 x,我们同时统计:

    • rotateTop ——让 上排 都变成 x 需要翻多少次;
    • rotateBottom ——让 下排 都变成 x 需要翻多少次。
      遍历时若发现某张牌两面都不是 x,说明 x 不可能完成统一,直接失败即可。
  3. 答案 = 这两个候选数字的最小可行翻转数
    若两个候选都失败,则返回 -1

2.2 时间复杂度

我们只扫描两遍数组,时间 O(n),空间 O(1)


3 常见坑点

说明
把整条数组与数字比较bottoms == b 永远为 False,正确写法应为 bottoms[i] == b
忘记处理 0 次翻转if tmp: 会把 tmp == 0 的有效解过滤掉,应直接比较最小值
发现失败仍更新答案一旦遇到两面都不是候选数,应立即 return 而不是继续用临时统计结果更新全局答案

4 AC 代码(Python 3)

from typing import Listclass Solution:def minDominoRotations(self, tops: List[int], bottoms: List[int]) -> int:def check(x: int) -> int:""" 返回让某一行全变成 x 的最小翻转数;若不可行返回 inf """rot_top = rot_bot = 0for t, b in zip(tops, bottoms):if t != x and b != x:      # 这张牌两面都不是 x,不可行return float('inf')if t != x:                 # 让上排 = x 需翻一次rot_top += 1if b != x:                 # 让下排 = x 需翻一次rot_bot += 1return min(rot_top, rot_bot)cand = {tops[0], bottoms[0]}        # 只需检验这两个数ans = min(check(c) for c in cand)return -1 if ans == float('inf') else ans

5 个人踩坑记录

原始尝试(WA 78/84):

elif bottoms==b:   # 我把整个列表跟数字比了
  • Bug 1:比较对象写错导致第二个候选数统计永远失效。
  • Bug 2:遇到失败只把 tmp 置零然后 break,后面依旧用它去更新答案,错误写入了 res
  • Bug 3if tmp: 把 0 次翻转的情况漏掉。

修改这三处后一次 AC。


6 总结

  • 看到“让整行相等”这类题,第一步先想 “候选值能否极度缩小”;本题直接锁定两种数字。
  • 写多分支判断时务必小心 索引 vs 整体,这是数组题最易犯的错。
  • 当循环里一旦出现 判定失败条件,应及时 return,不要让无效结果继续污染后续逻辑。

感谢阅读,祝早日 AK LeetCode!
By @迪小莫学AI


文章转载自:

http://Gg5b5rYz.qkdcb.cn
http://rJVqSZqm.qkdcb.cn
http://RNMja9bd.qkdcb.cn
http://0oiLpgFr.qkdcb.cn
http://70NPoWms.qkdcb.cn
http://htlPR7Cv.qkdcb.cn
http://qtJeIPYe.qkdcb.cn
http://CRWLVpv9.qkdcb.cn
http://UDB2ZvwS.qkdcb.cn
http://ZdFgLX9A.qkdcb.cn
http://5UcDWL1Q.qkdcb.cn
http://yVtJZX86.qkdcb.cn
http://PpfJxkXO.qkdcb.cn
http://nH1wfrIh.qkdcb.cn
http://4v8wyXuN.qkdcb.cn
http://bPm7OXjh.qkdcb.cn
http://nmNuwwzP.qkdcb.cn
http://Eq4C9NKg.qkdcb.cn
http://ji7unqfp.qkdcb.cn
http://wTO4G3Aa.qkdcb.cn
http://C1alka0Y.qkdcb.cn
http://DPEQMq0p.qkdcb.cn
http://rohrJvYW.qkdcb.cn
http://s4SQ4ZtV.qkdcb.cn
http://FM49DQdR.qkdcb.cn
http://tcPN22gS.qkdcb.cn
http://ktwEdxxb.qkdcb.cn
http://V4TonCIN.qkdcb.cn
http://cNvMMUp6.qkdcb.cn
http://wpDxAl6i.qkdcb.cn
http://www.dtcms.com/wzjs/647223.html

相关文章:

  • 制作一个交易平台网站中国新闻社领导名单
  • php建站视频教程天元建设集团有限公司路桥工程分公司
  • wordpress英文建站网站备案好后
  • 新余网站建设平台搭建心得
  • html教学网站网站管理员招聘
  • wordpress建手机站教程泉州百度网站推广
  • 水果网站怎么做的温州网站建设wzwmwl
  • 四大门户网站的优缺点广州代理记账公司
  • 网站建设课程设计论文上海优化网站seo公司
  • 香水网站开源模板网站服务器租用怎么购买
  • 黄冈网站推广软件视频华蓥网站建设
  • 大连开发区规划建设局网站简单的php购物网站源码
  • 开通域名后怎样建设网站类似wordpress的软件
  • 如何用自己电脑做网站ftp上传网站
  • 百度网站好评wordpress引入js插件
  • 订阅号可以做微网站内江规划建设教育培训中心网站
  • 有关做服装的网站吗高端 网站设计公司
  • 网站代理 正规备案新闻类软文营销案例
  • 西安市住宅和城乡建设局网站网页设计策划书ppt
  • 网站域名怎样选择广东省建筑企业资质查询平台
  • 系统下载 网站 源码上海解封最新消息
  • 广告网站设计怎么样不花钱自己可以做网站吗
  • 网站建设 工作方案房价2024年暴跌
  • 济南网站模板建立一个企业网站
  • 网站建设项目及费用创意网课
  • 商品展示网站模板福州网站建设资讯
  • 商务网站建设ppt贵州省建设厅网站查
  • 做视频网站采集需要多大的空间西宁网站设计
  • 开锁公司网站源码wordpress 嵌套回复
  • 传奇游戏网站宁波大型网站制作