我有以下代码用于返回数组中的回文 - 代码工作正常,但我实际上是将arraylist转换为数组 - 因为大小未知 - 这是一个代价高昂的转换吗?什么是复杂的时间? java编码的新手 - 我自己编写代码,但我很难搞清楚阵列转换的时间复杂性。
primes
答案 0 :(得分:1)
应该是O(n),其中n是数组的大小。我没有时间遍历数组,每次遍历的时间都是恒定的。
答案 1 :(得分:0)
如果您可以解决这个问题,这是一次代价高昂的转换。如果没有办法解决问题,那么,即使费用昂贵,也别无选择。
解决方法是放弃返回数组。如果您选择从List<String>
方法返回palind
该怎么办:
public static List<String> palind(String[] arr) {
//..
}
如果不是太麻烦,你甚至可以在这里接受一个List<String>
来使它无阵列。