python-3.x - 如果字符串恰好包含子字符串的两个实例,则返回 `True` 的函数,如果不包含则返回 `False`
问题描述
我正在尝试编写一个函数,True
如果字符串恰好包含子字符串的两个实例,则返回,如果不包含False
。
我收到一个错误:
return' outside function
我觉得我非常接近,但不能完全理解,我很感激被指出正确的方向。应该使用递归吗?
s = ("xeroxes")
exes = str(x)
count = 0
def has_two_X(s):
count = s.count(exes)
for exes in s:
count = +1
if count ==2:
return True
else:
return False
if __name__ == "__main__":
print("string has :",count.s(exes))
解决方案
如果如果有两个或多个子字符串实例,代码必须返回 True,您可以创建一个字典并在字典中是否存在值时返回 True。
mydict = {}
for letter in s:
if letter in mydict:
return True
else:
mydict[letter] = 0
return False #Since there is no substring (two substring can be formed only if it has two same letters in the string)
要准确查找它是否有两个子字符串,我建议您使用相同的方法来维护字典和存在的子字符串计数。将所有子字符串/计数添加到字典中,这将需要 O(n^2) 来生成所有子字符串和大约 O(n^2) 哈希图内存。
构建 hashmap 后,如果它恰好出现两次子字符串,则可以遍历 hashmap 以返回 True。
推荐阅读
- python - 如何使用 Python 将表单和设置的键值对添加到 MongoDB 中?
- java - location.getlongitude() 和 getlatitude() 仅每 100-300 秒更新一次
- java - 无法从初始 URI 检索初始集群分区 [RedisURI [host='127.0.0.1', port=7001]]
- javascript - Play inline html5 video smoothly by preloading video entirely
- redux - redux subscribe 触发但 store 对象为空
- python - 精度丢失调用 cv2.cartToPolar 与 angleInDegrees 设置为 False
- sql-server - 如何将行添加到子表?
- c# - 性能提升,谓词系统 linq 查询
- r - 连接 R 和 Excel
- javascript - 如何使用 Context API 将单个 Socket IO 实例传递给页面?