我目前正在解决Leetcode的一些问题,每次它与String内容有关,我的运行时间明显长于其他编程语言。
它必须与Swift引入的Strings的变量内存有关,因此你不能简单地说string[i]
并获得时间复杂度为O(1)的字符,但你必须做某事像这样:
string[string.index(string.startIndex, offsetBy: i)]
或(甚至更好):
string.substring(with: string.index(string.startIndex, offsetBy: i) ..< string.index(string.startIndex, offsetBy: i+1))
谁知道通过Swift 3中的索引访问角色的更有效方法? O(1)的时间复杂度首选!