对每个位置 i,需要统计左侧与 si 不同的字符个数。用两个计数器 cnt0、cnt1 记录已经扫过的 0 与 1 的个数。
从左到右扫描:若当前是 0,则答案为当前的 cnt1,随后 cnt0 加一;若当前是 1,则答案为当前的 cnt0,随后 cnt1 加一。一次扫描即可得到全部 ai。
时间复杂度 O(n),空间复杂度 O(n)(用于存放答案)。
某设备会依次记录 n 次运行状态,每次状态只有两种,分别用字符 0 和 1 表示。
所有记录按照时间顺序组成一个长度为 n 的字符串
s=s1s2…sn
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册