最近,我在一次工作面试中被要求解决一个编程难题,我认为分享这个难题会很有趣。它是将 Excel 列字母转换为实际数字,如果您还记得的话,Excel 用从 A 到 Z 的字母命名其列,然后顺序为 AA、AB、AC...AZ、BA、BB 等。
您必须编写一个接受字符串作为参数(如“AABCCE”)并返回实际列号的函数。
该解决方案可以采用任何语言。
对我来说听起来像是一个标准的减少:
Python:
def excel2num(x):
return reduce(lambda s,a:s*26+ord(a)-ord('A')+1, x, 0)
C#:
int ExcelToNumber(string x) {
return x.Aggregate(0, (s, c) => s * 26 + c - 'A' + 1 );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)