簡體   English   中英

反轉字符串:這是 O(log n) 時間復雜度嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM