【发布时间】:2011-05-27 20:37:52
【问题描述】:
将字符串转换为等效数字或反之亦然的复杂性是多少?它会根据编程语言而改变吗?
从表面上看,需要遍历整个字符串才能将其转换为数字,所以是O(n),还是使用了某种类型转换?
当我编写一个例程来检查给定的数字是否是回文时,这个疑问就出现了。一种方法是继续将数字除以基数(此处为 10),累积数字,然后将它们放在最后。示例:309/10=rem(9)、30/10=rem(0)、3/10=rem(3)。我们得到 903。
我采用的另一种方法是将这个数字转换为字符串,由于字符串有很多成员函数可以拆分、反转等,所以代码更短更简洁,但这是最好的方法吗?
【问题讨论】:
-
在您的情况下,您认为“N”是什么?
-
@TToni N 的大小没有上限...
-
好吧,我换个方式问:假设您将 N 视为输入字符串的长度并询问将该字符串解析为数字的算法复杂性,我是否正确?
标签: algorithm string complexity-theory math string-conversion