- 数组:可以使用两个数组
t和t1来记录每个骨牌被推倒的时间。t记录从左到右的推倒时间,t1记录从右到左的推倒时间。 算法步骤 - 初始化数组:创建两个数组
t和t1,长度为n,初始值为 0。 - 从左到右遍历:遍历字符串,如果当前骨牌被向右推(
R),则将其右边连续的.标记为推倒时间递增。 - 从右到左遍历:遍历字符串,如果当前骨牌被向左推(
L),则将其左边连续的.标记为推倒时间递减。 - 计算平衡点:遍历数组
t和t1,找到t[i] + t1[i] == 0的位置,这些位置的骨牌保持竖立。 - 输出结果:统计保持竖立的骨牌数量,并输出其位置。
关键点
- 确保正确处理边界条件,例如字符串的开头和结尾。
- 注意推倒时间的正负号,确保
t和t1的值能够正确反映推倒的方向和时间。