[英]Reversing a String: Is this O(log n) time complexity?
我正在做這個leetcode 問題,它要求反轉 integer。 我編寫了這個方法來將 int 轉換為字符串並使用分治遞歸技術進行反轉。 我想知道這是O(log n)時間復雜度嗎? ( n是字符串中的字符數)。
def __reverse_recur__(self, num: str):
N = len(num)
if N == 1:
return num
else:
n = int(N / 2)
left_half = self.__reverse_recur__(num[n:])
right_half = self.__reverse_recur__(num[:n])
return left_half + right_half
不,它是線性的。 字符串中有 n 個字符,您將每個字符移動一次。 如果您每次將問題除以 2並且只解決兩半中的一個(二分搜索),則分而治之會產生 O(log n) 時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.