acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 正经题解| 1串

    1串 题目大意 给定一个只包含01的序列,可以执行以下操作 1. 选择一个1 2. 将其移动到左边最近的0所在位置,原先位置被0填充 询问,最起码需要几次操作才可以让所有的1贴在一起。 思路解析 我们可以想到,如果想要将所有的1连在一起,那么我们则需要将在序列当中出现的第一个1与最后一个1的中间所有0都给他排除掉,才可以完成。可以将每一次操作视为是·删除·首1与尾1之间的1个0,那么最终执行的次数则为首1与尾1之间0的个数。 例如: 10001 最少操作次数3,因为首个1与尾巴的1之间存在3个空格,101010101为4,理由如上。 时间复杂度 O(n)O(n)O(n) 代码演示

    userId_undefined

    AC君

    小有名气倔强青铜管理员
    67阅读
    0回复
    0点赞
首页