在给定特定规则集的情况下如何拆分字符串?

克里希

我正在尝试解决USACO问题,称为“断项链”。在这个问题中,您将得到一个字符串,并且找到了最大可能的连续色珠。

我试图将我的字符串分成两部分,每个部分都有自己的颜色。“ w”字符可以是红色或蓝色,但必须与红色或蓝色字符分开。它不能独立存在。

例如:

arr = []
string = 'rwbwrr' 
#do something
arr = ["rw","bw","rr"]

我试过在for循环中创建一个while循环,但这没有用。

new_necklace = "bbrwrbrbrrbrbrwrwwrbwrwrrbwww"
arr = []
count = 0
for i in range(len(new_necklace)):
    count = i
    if new_necklace[i] == 'r' or new_necklace[i] == 'b':
        while new_necklace[count+1] == 'w':
            count += 1
    arr.append(new_necklace[i:count])

尝试此方法时出现索引超出范围错误,并且它弄乱了输出。数组应等于[“ bb”,“ rwr”,“ b”,“ r” ....]

编辑:我对我的代码进行了一些修改,我最终做到了这一点。

arr = []
for i in range(len(new_necklace)):
    count = i+1
    if new_necklace[i] == 'w':
        continue
    if new_necklace[i] == 'r' or new_necklace[i] == 'b':
        while count < len(new_necklace):
            if new_necklace[count] == 'w' or new_necklace[count] == new_necklace[i]:
                count += 1
            else:
                break
    arr.append(new_necklace[i:count])

但是,['bb', 'b', 'rwr', 'r', 'b', 'r', 'b', 'rr', 'r', 'b', 'r', 'b', 'rwrwwr', 'rwwr', 'r', 'bw', 'rwrr', 'rr', 'r', 'bwww']即使new_necklace为,这也会在数组输出时引起一个新问题"bbrwrbrbrrbrbrwrwwrbwrwrrbwww"它似乎两次追加相同的子集。

安德烈·凯斯利(Andrej Kesely)

使用re模块根据规则分割字符串:

s = 'bbrwrbrbrrbrbrwrwwrbwrwrrbwww'

import re

print([i[0] for i in re.findall(r'(([rb])(?:\2|w)*)', s)])

印刷品:

['bb', 'rwr', 'b', 'r', 'b', 'rr', 'b', 'r', 'b', 'rwrwwr', 'bw', 'rwrr', 'bwww']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在给定未知格式字符串的情况下对数组进行sprintf?

在给定特定字符串组的情况下,如何查找任何字符串的第一个匹配项?

如何在给定“源代码”字符串列表的情况下创建数组组合字符串?

给定特定规则,如何将字符串中的特定字母大写

如何在不使用笔划的情况下根据特定字符拆分字符串

如何用Java中的特定规则对给定字符串进行子字符串化

熊猫在给定字符串的情况下获取1和0的序列

在给定索引的情况下打印字符串的排列

在给定操作成本的情况下构造字符串的优化算法

在给定jQuery <tr>对象的情况下获取<td>值字符串

如何在没有给定模式的情况下将字符串拆分为相同的部分?

在给定行列表的情况下,将每行的字符串表示形式映射到其总出现次数

c# - 如何在不使用数组或拆分函数的情况下拆分字符串#

在给定增长率和特殊规则的情况下,如何获得熊猫的累积生长?

在给定规格的情况下,磁盘的实际数据传输速率是多少?

JavaScript:完全旋转字符串,然后在给定数字输入的情况下向另一个方向旋转字符串

在不忽略空格的情况下拆分字符串

根据特定规则测试字符串

为字符串 PHP 制定特定规则

在给定起点和终点的情况下检查字符串列表中的路径

如何在不防止删除空字符串的情况下防止单词拆分?

如何在不使用连续定界符空格的情况下拆分字符串

在PL / SQL中如何在不截断单词的情况下拆分字符串?

如何在不获取空值到输出数组的情况下拆分字符串

如何在不保留捕获组的情况下使用regexp拆分字符串?

如何在没有 strtok 的情况下正确使用字符串拆分

如何在不使用拆分方法的情况下找到字符串中最长的单词

如何在不使用 .split() 的情况下拆分字符串?

给定HTML页面字符串索引的情况下,如何动态添加<a>标签?