查找列中最大字符串长度的算法

时间:2019-08-19 19:34:46

标签: algorithm

我有一百万行,我需要找到一个字段的最大字符长度。例如,数据可能如下所示:

[
  ['john doe', 12, 2.99],
  ['jane doe', 29, 3.99],
]

然后找出第一列的maxLength:

maxLength = 0
for row in rows:
    maxLength = max(len(row[0]), maxLength)

但是,确定len(str)似乎是一项昂贵的操作。有没有更好的方法可以做到这一点,甚至可以近似最大长度等?用python或C / C ++的答案很好-我只是在寻找它的实现方式。

1 个答案:

答案 0 :(得分:0)

将Python内置的max与使用len的键函数配合使用,对于this question的答案中提到的字符串,该键函数为O(1)

max_row = max(a, key = lambda r : len(r[0]))