memoization

    0

    1答えて

    私の目標は、同じ初期化引数を持つオブジェクトが1つしかないように、オブジェクトインスタンス化をメモすることです。 私はthis postからいくつかのコードを適用し、次のコードが動作します。基本的にmemoizeは、初期化引数をキャッシュするデコレータです。次回同じ初期化引数が使用されると、新しいオブジェクトを作成する代わりに、キャッシュされたオブジェクトが返されます。 from functool

    2

    3答えて

    私は&のメモをキャッシュするという概念にかなり新しいです。私は他のいくつかのディスカッション&リソースhere、here、およびhereを読んだが、それらすべてをうまくフォローできなかった。 クラス内に2つのメンバー関数があるとします。 (以下の簡単な例)最初の関数totalは計算コストが高いと仮定します。第2の関数subtotalは、第1の関数からの戻り値を使用することを除いて、計算上単純です。

    2

    1答えて

    愚かになるかもしれませんが、私はScala Streamの評価に関して不変の方法で質問しています。 私はこのようなストリームを持っていると言います(すべての行はreplで実行されます)。 val a = Stream(1,2,3,4,5,6,7,8,9,10); :scala.collection.immutable.Stream [INT] =ストリーム(1?) Iは、次の行を実行します。

    0

    1答えて

    配列内のLIS(Longest Increasing Subsequence)の計算は、非常に有名な動的プログラミング問題です。しかし、すべてのチュートリアルでは、最初にDPの概念を使用せずに再帰的解を示し、Bottom-Up DP(反復解)を適用して解く。 私の質問は: がどのように我々は再帰ソリューション自体にメモ化を使用します。 Memoizationだけでなく、1Dアレイを使用してメモを作

    0

    1答えて

    私は、システム内のイベントとイベントと最後に計算された値に応じて値を計算する関数を持っている:私は、この関数を呼び出すと 私はこの振る舞いをしたい: 新しいイベントがある場合は、それが必要新しいイベントが存在しない場合の結果をイベントと最後のメモ化値を使用して新しい値を計算し、memoize 、それは私がCAの実装をここで をメモ化最後の値をされて返す必要があります私と一緒に: <!-- lang

    1

    1答えて

    関数を引数として受け取り、memoize関数と同様のmemoize関数を返そうとしています。 function memoize<T extends Function, R>(f: T): T { const memory = new Map<string, R>(); const g = (...args: any[]) => { if (!memory.get(a

    1

    1答えて

    私は、memoizationコードが正常に動作しています。これは、 'n'がm個の可能な値で表現できる方法の数を計算します。しかし、以下のコードでは、memoizationテーブルのmemoNMが答えではなく0を返しているのは242です。このmemoNMテーブルは、より高速なルックアップのために、以前に計算された値を再帰ツリーに格納しているだけです。誰か助けてくれますか? import java.

    0

    1答えて

    私は "1"、 "2"、 "3"、 "4"の4桁を持っています。 プログラムの入力は、上記の4桁のみを含む整数です。多くのインプットがあるでしょう。入力の 例:1123、4123、4444 Iは、次の規則に準拠し、所与の入力の順列の数を計算する必要があります どの2つの同様の数字はに隣接してはなりませんお互い。例:1223は許可されず、2123は許可されます。 開始末尾の数字は同じであってはなりま

    2

    2答えて

    私は暗記のメリットについて聞いたことがありますが、どのように動作するのか分かりません。例えば、In:私の知識あたりとして class User < ActiveRecord::Base def twitter_followers # assuming twitter_user.followers makes a network call @twitter_follow