greedy

    0熱度

    1回答

    這是我對pset1貪婪的代碼。現在,這一切都從我可以告訴和測試和使用CS50檢查,以及... 問題是它被暗示在走過,我不得不查看如何正確使用圓,我可能應該使用模塊化的地方?我知道它做了什麼。例如10%3 = 1。是否值得再次使用模塊化%進行操作。還有關於我的方法的任何建議?提前致謝。

    0熱度

    1回答

    我有這個問題,我正在與貪婪的最好的第一搜索算法有關。然而,當談到點(x,y)時,我有點卡在計算遍歷的長度。例如讓我說我有這些點: (0,1),(0,2),(1,2),(1,3)。所以我所做的就是畫了一個圖上的X,Y平面: 現在知道GBF算法,它會檢查在這種情況下,橫向看起來像這樣的衣櫃節點等:(0, 1)→(0,2)→(1,2)→(1,3)。所以現在爲了計算GBF完成的點連接的長度,我是否需要基本

    0熱度

    1回答

    給定一組間隔I,形式爲[a_i,b_i]的每個元素在O(n * logn)時間內找到最大深度的結束點b_i。將x的深度定義爲點「刺入」(或相交)的間隔數。如果兩個端點具有相同的深度,則返回較小的一個。 嘗試: 我不知道如何找到它的O(N * LOGN)的時間。我理解尋找一組間隔的插入集合的貪婪算法,但嚴格地用O(n * log n)時間找到一個終點似乎是非常不同的。 我可以嘗試先排序間隔,然後蠻力

    -1熱度

    1回答

    我有一個類似霍夫曼編碼的問題,我不確定它是如何解決的,或者它是否是霍夫曼逆編碼。但它肯定可以用貪婪的方法解決。 考慮一組長度,每個長度都與一個概率相關聯。即 X={a1=(100,1/4),a2=(500,1/4),a3=(200,1/2)} 顯然,各個概率之和= 1 排列長度上一起從起點後,其他的線之一。 例如:{a2,a1,a3}從開始到結束的順序。 將元素a_i的成本定義爲從起始行到該元

    -1熱度

    1回答

    Hy傢伙,出於某種原因,我的貪婪硬幣更改程序不起作用。該函數應返回最小數量的硬幣,您可以更改一個值,並且還有一個數組,其中包括可用於此的硬幣。我的程序沒有顯示任何內容,我不知道爲什麼。 public class Main { public static int coinChangeGreedy(int[] coins, int n) { int result = 0;

    0熱度

    1回答

    這裏的問題: 鑑於+的序列s和 - 分別表示與初始值0,變量x +1和-1操作字符,求x可以與任何實現值的最大範圍s的子序列。 實施例: S = + - + - +,X = 0 子序列,這將導致4的最大範圍是+ ---- +。 x的最大值爲1,最小值爲-3。 這個算法在僞碼的解決方案如下: count_minus = #occurrences of - character count_plus

    0熱度

    1回答

    嗨我知道如何解析表達式(包括括號)。 但通常解析表達式假定「操作數運算符操作數」。 F.e. : 5 + 12 (5 * 6) + 11 (3 + 4) + (5 * 2) 正如你所看到的值總是兩個。 我在尋找的是機制(語法),可以解析類似的運算符鏈作爲一個單一的項目,即貪婪 F.e.讓說我有以下表現: 5 + 4 + 2 + 7 * 6 * 2 => sum(5 + 4 + 2)

    0熱度

    1回答

    我一直在貪婪算法刷新算法設計技術。我已經閱讀了很多來源來解釋什麼是貪婪算法,因爲我想將一般的貪婪算法放在一起。 在閱讀這些資源時,我已經收集了所有重要的概念,以嘗試爲貪婪選擇技術提出這種通用算法。所謂「一般」,我的意思是它總結了技術的行爲 針對所有可能的問題,這種技術會產生一個正確的解決方案。 我想對它做一些輸入。這裏取1: 設f是從S到任意集合的函數。下面的算法試圖每個S的元素的每個搜索迭代進行

    3熱度

    2回答

    我正在閱讀關於Binary search的不同材料,但我不清楚它是否是一個貪婪的二進制文件(在我看來它不是),或者它可以是一種具有某種特定實現的貪婪算法嗎? 如果它可以是貪婪的,它是如何有意義的?如果全局最優是通過選擇局部最優而獲得的,而不重新考慮先前的選擇,則它不能保證二分搜索的正確結果。

    0熱度

    1回答

    我已經想出了算法來找到數組中的非相鄰元素的最大總和,但我有一些麻煩找到哪些數字是摘取總結。這裏是我的最大總和(不包括一些初始化)算法: int n; //number of cells. Cells are labeled from 1 to n int num[]; // all the numbers int findMax[]; // findMax[i] equals to the c