recursion

    4熱度

    1回答

    我有以下的遞歸函數,我很難找出python如何處理遞歸函數中的變量。它會爲每個遞歸創建一個addresses變量的副本,還是會覆蓋該變量並創建一個可怕的混亂? def get_matches(): addresses = get_addresses() #do stuff for addr in addresses: #do stuff i

    4熱度

    1回答

    我有一個包含一些字段的類。我需要通過值來比較這個類的實例,所以我相應地定義了GetHashCode和Equals。因爲類允許循環引用,所以我需要一種避免無限遞歸的機制(有關更詳細的解釋,請參閱Value-equals and circular references: how to resolve infinite recursion?)。 class Foo { public stri

    0熱度

    1回答

    我在優化從網上下載的「島數」程序時遇到了問題。我試圖優化它,如下所述,但不能100%正確。 什麼是島數? http://www.geeksforgeeks.org/find-number-of-islands/ 我已經從網站中的一個截取的下面的「C」程序,用於確定在給定圖島數。 void DFS(int M[][COL], int row, int col, bool visited[][COL]

    1熱度

    2回答

    有可能計算總計算遞歸函數ackermann(m,n)與參數m>=4和n>=1 python不超過最大遞歸深度? def ackermann(m,n): if m == 0: return n+1 if n == 0: return ackermann(m-1,1) else: return ackermann(m-1,ackerm

    1熱度

    4回答

    我想寫一個遞歸方法來在字符arraylist中的字符之間添加星號。我也試圖避免該方法中的硬編碼。這是我的測試代碼和所需輸出的嘗試。我想使用列表迭代器,但我想知道是否有更好的方法? public static String addStars(List<Character> str) { if (str.isEmpty()) { return ""; } e

    4熱度

    1回答

    這是爲什麼失敗編譯: template<typename T, int N> using vec = vector<vec<T, N - 1>>; template<typename T> using vec<0> = T; 而只是築巢它變成一個結構非常有效: template<typename T, int N> struct foo { using vec = vecto

    0熱度

    1回答

    這可能是一個奇怪的問題,但... 問: 如何打開一個尾遞歸功能斯卡拉成非尾遞歸解決方案? 注意:我知道尾部遞歸解決方案在Scala中非常棒,但我被要求將其更改爲非尾部遞歸解決方案。我不知道該怎麼做 我有我在這裏一尾遞歸解決方案代碼(至少我希望它是尾遞歸笑) def cubesTailRecur(a: List[Int], acc: List[Int] = List.empty): List[Int

    1熱度

    1回答

    我有這個功能,需要兩個列表並返回兩個列表的總和。 例子: def sumOfSums(a: List[Int], b: List[Int]): Int = { var sum = 0 for(elem <- a) sum += elem for(elem <- b) sum += elem sum } 夠簡單了,但是現在我想遞歸地做到這一點,第二個li

    0熱度

    2回答

    我有這個迭代函數來計算列表中布爾值的數量。 def countBoolIter[A](test: A=>Boolean, a: List[A]) = { var count = 0 for(elem <- a){ if(test(elem)) count += 1 } count } 傳入的第一個參數是isBool功能: def isBoo

    0熱度

    1回答

    這是主要的文件: public static void main(String[] args) { BTFunction bt=new BTFunction(); bt.insert(5); bt.insert(15); bt.insert(10); bt.insert(7); } 這是類BTFunction: public class BTFunction { BTNod