💡
原文英文,约600词,阅读约需3分钟。
📝
内容提要
每周挑战318中,Mohammad S. Anwar发布了两个编程任务:任务1要求使用正则表达式找出字符串中连续三个或更多相同字母的位置;任务2检查两个整数数组是否可以通过反转一个连续子数组使其相等,需验证数组长度、元素及总和相同。
🎯
关键要点
- 每周挑战318由Mohammad S. Anwar发布,包含两个编程任务。
- 任务1要求使用正则表达式找出字符串中连续三个或更多相同字母的位置。
- 任务1的解决方案使用正则表达式,匹配连续相同字母并返回其位置。
- 任务2检查两个整数数组是否可以通过反转一个连续子数组使其相等。
- 任务2的解决方案首先检查数组长度、元素及总和是否相同。
- 如果数组相等,返回True;否则,检查是否存在可反转的子数组使其相等。
❓
延伸问答
每周挑战318的主要内容是什么?
每周挑战318包含两个编程任务,分别是找出字符串中连续三个或更多相同字母的位置,以及检查两个整数数组是否可以通过反转一个连续子数组使其相等。
如何使用正则表达式找出字符串中连续相同字母的位置?
可以使用正则表达式`r'((.){2,})'`来匹配连续三个或更多相同字母,并返回其位置。
任务2的解决方案是怎样的?
任务2的解决方案首先检查两个数组的长度、元素及总和是否相同,然后通过反转一个连续子数组来验证是否可以使两个数组相等。
在任务1中,如果没有找到连续相同字母,会返回什么?
如果没有找到连续相同字母,任务1会返回空字符串""。
如何判断两个数组是否可以通过反转子数组相等?
首先检查两个数组的长度、元素及总和是否相同,然后尝试反转不同的子数组并检查是否能使两个数组相等。
在任务2中,如果两个数组完全相等,会返回什么?
如果两个数组完全相等,任务2会直接返回True。
➡️