big-o

    2熱度

    1回答

    下面是Java中Sliding Window Maximum問題的示例解決方案。 給定一個數組nums,有一個大小爲k的滑動窗口,它從數組的最左邊移動到最右邊。您只能在窗口中看到 的k個數字。滑動窗口每次移動 向右移動一個位置。 我想獲得這個功能的時間和空間的複雜性。這是我覺得這是答案: 時間:O((n-k)(k * logk)) == O(nklogk) 空間(輔助):O(n)退貨int[]和O

    0熱度

    2回答

    我有一組n個螺母和一組n個螺栓,它們都按大小遞增排列。我需要給出一個O(n)算法來檢查一個螺母和螺栓是否具有相同的尺寸 。螺母尺寸在一個陣列中NUTS [1..n] 螺栓尺寸在一個陣列中BOLTS [1 ... n] 我不需要找到所有匹配,只要停止算法即使一個匹配被發現。在這裏,我的psuedocode看起來像迄今爲止 for each n in NUTS for each b in B

    3熱度

    2回答

    給定一個數組爲每個元素找到數組中最後一個較小元素的索引。例如,假設給定的數組是{4,2,1,5,3}。然後,每個元素的最後一個更小的元素將如下所示。爲第一對4-> 3 4->3 2->1 1->Null 5->3 3->Null 通告,3是在陣列的最後一個元素小於4. 所得/輸出陣列將具有索引不元素本身。結果將是{4,2,-1,4,-1} 我在接受採訪時被問到這個問題,但我想不出一個解

    0熱度

    1回答

    代碼1: 我我看來這段代碼是O(n^3),因爲外部循環運行N^2次,內循環運行n次。根據我的教授,這個代碼不是O(n^3)。有人能解釋爲什麼嗎?我很困惑。 i, j, sum = 1, 1, 0 while i < n**3: while j < n: sum = sum + i j += 1 i = i + n 代碼2: 我覺得這個代碼爲O(n)。

    1熱度

    1回答

    平衡二叉搜索樹能否幫助您在比平衡二叉樹更快的大時間內完成以下任務? 創建樹小於某些值V較小的所有元素的列表。 在我看來沒有,因爲如果在BST所有的值是什麼小於V,那麼你就必須訪問每個節點,那就是O(n),它不比二叉樹好。 我正確嗎?

    0熱度

    1回答

    在此此MIT lecture描述和寫出在該SO question用於在1D陣列有意義發現一個峯的算法。 因此,對其分析O(log n); 我們將陣列分成兩半 我該如何更新它才能找到所有峯值在數組中?這種複雜性會是什麼?

    1熱度

    1回答

    所以,我知道我在想我的錯誤,但我對所有三段代碼的回答是,他們是O(n^2)。 有人可以告訴我,如果我錯了嗎? 如果是的話,你能幫我想想如何解決類似的問題。先謝謝你! public static int firstLoop(int[] arr) { int sum = 0; int n = arr.length; int limit = n * n; for (

    1熱度

    2回答

    int sum = 0; for (int i = 0; i*i < N; i++){ for (int j = 0; j*j < 4*N; j++){ for (int k = 0; k < N*N; k++){ sum++; } } } 我知道這個代碼段的增長順序是N^3。但是我需要對此進行適當的解釋。

    0熱度

    1回答

    我不知道這些種類的循環的技術術語(如果存在的話),所以我會提供了一個例子: x=0 i = 1 while(i<n) for(j=1 to n/i) x = x + (i-j) i*=2 return(x) 在這個例子中,while循環,直接改變的次數數for循環運行,這是由於某種原因,我拋棄 通常,我會一行一行地看看每行會運行多少次,但由於次數的變化,我

    -1熱度

    3回答

    這是我想要計算時間複雜度的僞代碼,我認爲它是一種二分搜索算法,但是當計算複雜性時我失敗了,因爲它正在減少logarithamic。 USE variables half-array,found,middle element SET half-array=initial array; SET found=True; Boolean SearchArray(half-array