1
imn1 2020-10-21 13:40:54 +08:00
oj 是什么?
其实不知道怎么回答,问题你自己已经答了 至于你说内存会爆,那是业务流程,好像跟不是“如何读取”的问题 怕内存爆,就读一行处理一行呗 |
2
ysc3839 2020-10-21 14:32:20 +08:00
自己根据 split 的算法,配合 Python 的 generator 实现一个即可。
这里给一个只能分割单个字符的版本作为参考。由于 V2EX 会删除每行开头的空格,需要你自己补全空格使其正常工作。 def lazy_split(str, sep): start = end = 0 for ch in str: if ch == sep: yield str[start:end] start = end + 1 end += 1 yield str[start:] if __name__ == '__main__': for i in lazy_split('abc bcd cde def', ' '): print(repr(i)) |
3
luckyrayyy 2020-10-21 14:42:39 +08:00
oj?那你顺序读取,遇到空格就扔掉不就行了
|
4
learningman 2020-10-21 19:40:18 +08:00 via Android
算法题拿 Python 写。。。?
我觉得 Java 都有点难 |
5
KIRAYOMATO OP 就是同一行里面有特别多以空格分隔的数据,全部放在一个 list 里面的话内存占用会超过题目限制
|