タグ付けされた質問 「optimization」

他のタグでカバーされていないアスペクトの最適化に焦点を当てた課題。

4
電子レンジをプログラムする[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックコードゴルフスタックExchange用。 3年前に閉店しました。 私はとても怠け者なので、できるだけ少ないボタンを押すだけで電子レンジを常にプログラムしようとします。私の電子レンジには次のボタンがあります。 最初に押すだけで、「開始」を意味する「分プラス」ボタン。数分間、複数回押すことができますが、手動で入力した時間に1分は加算されません。 出力+ 0〜9個のボタンのセット。タイムエントリはMMSSです(「130」は1分30秒を意味します)。秒の範囲は0..99です。したがって、「130」と「90」は同等のエントリです。エントリの秒部分が59を超えても、明らかに1分は60秒です。 出力0..9 時間を手動で入力する場合、電子レンジを開始するために押す必要がある「開始」ボタン。 出力S 私の食品パッケージはMM:SSで時間を指定しているため、プログラムはその入力を受け入れる必要があります。 例 1:00です+(「分プラス」は開始を意味することに注意してください) 1:01は61S(秒は59を超えることができますが、「分プラス」は数字と連動しません-これは私の電子レンジの設計上の欠陥だと思います) 9:00は900S(より短い+++++++++)

2
Collat​​zスタイルの卵狩り
グレートAPIイースターエッグハントに触発されました! 概要 あなたのタスクは、可能な限り少ないステップを使用して、「コラッツ空間」(後述)で所定の整数を検索することです。 前書き この挑戦は有名なCollat​​zの予想に基づいています。スーパーコラッツナンバーの印刷から抜粋しました。 このCollat​​zシーケンスあなたは、任意の正の整数で始まるこの例のために、我々は10を使用し、それへのステップのセットを適用する場所(も3X + 1問題と呼ばれる)は、次のとおりです。 if n is even: Divide it by 2 if n is odd: Multiply it by 3 and add 1 repeat until n = 1 このCollat​​z距離C(m,n)の2つの数の間のmとn、この課題の目的のためには、2つの数字の間の距離であるこのCollat​​zグラフ(使用して次のように定義され、(この概念についての私に告げるため@tshにクレジット)21と13の例として): m(この場合、21)のCollat​​zシーケンスを書き留めます。 21, 64, 32, 16, 8, 4, 2, 1 n(この場合、13)のCollat​​zシーケンスを書き留めます。 13, 40, 20, 10, 5, 16, 8, …

1
アダマール問題の最適化バージョン
まず、いくつかの定義。 A アダマール行列は、そのエントリが+1または-1と行互いに直交しているのいずれかである正方行列です。アダマール推測は順序4Kのアダマール行列は、すべての正の整数kに対して存在することを提案しています。 巡回行列は、各行ベクトルは、前の行ベクトルに対して右に一つの要素を回転させる行列の特別な種類です。つまり、行列は最初の行で定義されます。 4行4列の行列を除き、循環アダマール行列はないことが知られています。 m行、n> = m列の行列は、一部の循環行列の最初のm行である場合、部分循環です。 タスク 2から始まる各偶数整数nに対して、すべての行が相互に直交するという性質を持つ、+-1エントリとn列の最大部分循環行列のサイズを出力します。 スコア あなたのスコアは最高nなので、k <= n他の誰もあなたよりも高い正解を投稿していません。明らかに、すべての最適な回答があれば、n投稿した最高のスコアが得られます。しかし、たとえあなたの答えが最適でなくても、他の誰もそれを打つことができないなら、あなたはまだスコアを得ることができます。 言語とライブラリ 使用可能な任意の言語とライブラリを使用できます。可能であれば、コードを実行できるとよいので、可能な限りLinuxでコードを実行/コンパイルする方法の完全な説明を含めてください。 主要なエントリー 64 Pythonの Mitch Schwartzによる

4
おおよその正方形の形成
バックグラウンド 私は同じサイズの正方形の箱をたくさん持っています。私はきちんとした人なので、それらをすべて正方形の形に整理したいと思います。ただし、その数は必ずしも完全な正方形ではないため、正方形の形状を近似する必要があります。もちろん、プログラム的には、最も審美的に楽しいアレンジを見つけてほしい。 入力 入力は、kボックスの数を表す単一の正の整数です。 出力 プログラムはm, n、m*(n-1) < k ≤ m*n成立するような2つの正の整数を選択します。これらは、配置する大きな正方形のような形状の幅と高さを表します。審美的に楽しい形状を探しているので、形状は正方形に近く、その面積はに近くなるように、量は最小限にします。ペアの候補がまだいくつかある場合は、幅が最大になるものを選択します。(m - n)2 + (m*n - k)2k(m, n)m これで、実際の出力は数字とになりません。代わりに、ボックスを表す文字を使用して、ボックスの配置を印刷する必要があります。具体的には、あなたは印刷するもので構成され、それぞれが、行を文字、その後の1行の文字。出力には正確に文字が含まれていることに注意してください。mn#n-1m#k - m*(n-1)#k# ルールとスコアリング 出力に先頭または末尾の空白があってはなりません。ただしm、必要に応じて、最後の行の末尾に空白を追加してlength にすることができます。末尾に改行が1つある場合がありますが、先行する改行はありません。#必要に応じて、の代わりに印刷可能なASCII文字を使用できます。 完全なプログラムを作成することも、関数から文字列を返すこともできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース いくつかの入力値の正しい出力を次に示します。 1 # 2 ## 3 ## # 4 ## ## 8 ### ### ## 13 ##### ##### ### 17 ###### ###### ##### 18 …

4
パイを見つける5秒
パイ倍の電子 100の小数点以下の桁数に(またはパイあなたの曖昧な表記のような場合)は、次のとおりです。 8.5397342226735670654635508695465744950348885357651149618796011301792286111573308075725638697104739439... (OIES A019609)(非合理性の可能性に関する議論) あなたの仕事は、正の整数Nを取り、小数点以下N桁に切り捨てられたPi * eを出力するプログラムを書くことです。たとえば、N = 2の場合、出力はである必要があります8.53。 これは最適化の問題であるため、最高値のNに対して正しい出力を提供できるサブミッションが勝ちます。 すべての提出物が同じコンピューティングパワーを使用して判断されるようにするには、コードがサポートする言語を使用してideoneで実行する必要があります。ideone faqによると、ログインしていないユーザーには5秒の実行時間制限があります。この5秒の制限は、ログインするユーザーの15秒の制限ではなく、使用する必要がある制限です。(メモリ、コードサイズなどの他の制限については、よくある質問をご覧ください) 具体的には、ideoneにログインしていない人は、1から最大NmaxまでのNのすべての値に対してideoneでプログラムを実行でき、ほぼ常に正しい出力を確認できます。どのなしTime limit exceededかMemory limit exceeded、などのエラー。Nmaxが最大の提出が勝ちです。 (実際にかかった時間が5秒を超えるかどうかは、イデオンがエラーを出さない限り重要ではありません。「ほぼすべての時間」は、特定のNの95%以上の時間として定義されます。) 詳細 任意の数学的な方法を使用してPi * eを計算できますが、Pi、eまたはPi * eの最初の12桁を超えて出力をハードコーディングすることはできません。 リソースは無制限であれば、プログラムは任意のNで機能する必要があります。 あなたの言語がたまたま持っている場合は、組み込みのPiまたはe定数を使用できます。 コードの外部のWebサイトやリソースにアクセスすることはできません(これが許可されている場合)。 ハードコーディングと外部リソースへのアクセスを超えて、ideoneが許可するものはほぼ間違いなく問題ありません。 入力と出力は、(明らかに)ideoneがI / Oに提供するもの(stdin / stdoutのみ)で動作する必要があります。入力Nを引用符で囲む必要がある場合や、出力がans = ...などの場合は問題ありません。 Nmaxを入力として、コードのideoneスニペットへのリンクを含めてください。 同点が発生した場合(複数の送信が64kBの出力文字制限に達した場合のみ)、最高票の回答が勝ちます。

1
フロッガーチャンピオン
ゲーム 私たちのほとんどは、Froggerについて知っています。これは、80年代のアーケードゲームで、目的は、忙しい高速道路とハザードで満たされた池を安全に渡って家に到着することです。 チャレンジが発行されたフロッガークローンを開発するために、いくつかのヶ月前。しかし、Froggerをプレイできるのに、なぜFroggerをクローンするのですか?:) 次の単純化された再生グリッドを検討してください。 XXXXXXXXXXXXXXXXXXXXXXX North Safe Zone ----------------------- | | <<<< Express Lane West (Lane 1) | | > Gridlock East (Lane 2) | | << Freeflowing Traffic West (Lane 3) | | < Gridlock West (Lane 4) | | >>>> Express Lane East (Lane 5) ----------------------- XXXXXXXXXXX@XXXXXXXXXXX South …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

2
追加用にスーパーオプティマイザーを実装する
タスクは、ビットの合計の小さな論理式を見つけることができるコードを書くことです。 全体的な課題は、コードが可能な限り最小の命題論理式を見つけて、yバイナリ0/1変数の合計が値xと等しいかどうかを確認することです。変数をx1、x2、x3、x4などと呼びましょう。式は合計と等しくなければなりません。つまり、論理式は、合計がxに等しい場合にのみ真になります。 まず、これを行うための単純な方法を紹介します。y = 15、x = 5と言います。5つの変数を選択する3003の異なる方法をすべて選択し、それぞれの変数のANDと残りの変数の否定のANDを使用して新しい句を作成します。最終的に、それぞれ長さが正確に15の3003句になり、合計コストは45054になります。 あなたの答えは、Pythonに貼り付けることができるような論理的な表現でなければなりません、たとえば、私はそれをテストできます。2人が同じサイズの式を取得した場合、最も高速に実行されるコードが優先されます。 ソリューションに新しい変数を導入できます。したがって、この場合、論理式はyバイナリ変数、xおよびいくつかの新しい変数で構成されます。y変数の合計がxと等しい場合にのみ、式全体が満たされます。 最初の演習として、x = 2に追加するy = 5変数で開始したい人がいるかもしれません。単純な方法では、50のコストがかかります。 コードは2つの値yとxを入力として受け取り、式とそのサイズを出力として出力する必要があります。ソリューションのコストは、出力内の変数の生のカウントにすぎません。したがって(a or b) and (!a or c) 、4としてカウントされます。許可される演算子はand、orとのみnotです。 更新少なくとも理論的には、x = 1のときにこの問題を解決する賢い方法があることがわかりました。

2
ニューラルネットワークで多項式の最大根を求める
チャレンジ 整数エントリを持つ3次元入力ベクトルが与えられると、ネットワークは、多項式、誤差はより厳密に小さい。(a,b,c)(a,b,c)(a,b,c)[−10,10][−10,10][-10,10]x3+ax2+bx+cx3+ax2+bx+cx^3+ax^2+bx+c0.10.10.1 許容性 私の以前のニューラルネットゴルフチャレンジの許容性の概念は少し制限的であるように思われたので、このチャレンジでは、フィードフォワードニューラルネットワークのより寛大な定義を使用しています。 ニューロンは、機能であるのベクトルで指定されるの重み、バイアスとアクティベーション関数は次のようになります。ν:Rn→Rν:Rn→R\nu\colon\mathbf{R}^n\to\mathbf{R}w∈Rnw∈Rんw\in\mathbf{R}^{n} b∈Rb∈Rb\in\mathbf{R} f:R→Rf:R→Rf\colon\mathbf{R}\to\mathbf{R} ν(x):=f(w⊤x+b),x∈Rn.ν(バツ):=f(w⊤バツ+b)、バツ∈Rん。 \nu(x) := f(w^\top x+b), \qquad x\in\mathbf{R}^n. 有するフィードフォワードニューラルネットワークの入力ノード の関数であるそれが配列から構築することができるのニューロン。各はとスカラーを出力します。出力ノードの指定されたセットが与えられた場合、ニューラルネットワークの出力はベクトルです。{1,…,n}{1、…、ん}\{1,\ldots,n\}(x1,…,xn)∈Rn(バツ1、…、バツん)∈Rん(x_1,\ldots,x_n)\in\mathbf{R}^n(νk)Nk=n+1(νk)k=ん+1N(\nu_k)_{k=n+1}^Nνk:Rk−1→Rνk:Rk−1→R\nu_k\colon\mathbf{R}^{k-1}\to\mathbf{R}(x1,…,xk−1)(x1,…,xk−1)(x_1,\ldots,x_{k-1})xkxkx_kS⊆{1,…,N}S⊆{1,…,N}S\subseteq\{1,\ldots,N\}(xk)k∈S(xk)k∈S(x_k)_{k\in S} アクティブ化関数は任意のタスクに合わせて調整できるため、この課題を面白く保つために、アクティブ化関数のクラスを制限する必要があります。以下のアクティベーション機能が許可されています。 身元。 f(t)=tf(t)=tf(t)=t ReLU。 f(t)=max(t,0)f(t)=max⁡(t,0)f(t)=\operatorname{max}(t,0) SoftPlus。 f(t )= ln(et+1)f(t)=ln⁡(et+1)f(t)=\ln(e^t+1) シグモイド。 f(t)=etet+1f(t)=etet+1f(t)=\frac{e^t}{e^t+1} 正弦波。 f(t)=sintf(t)=sin⁡tf(t)=\sin t 全体として、許容ニューラルネットは、入力ノード、ニューロンのシーケンス、および出力ノードによって指定されますが、各ニューロンは、重みのベクトル、バイアス、および上記のリストからのアクティブ化関数によって指定されます。たとえば、次のニューラルネットは許容されますが、この課題のパフォーマンス目標を満たしていません。 入力ノード: {1,2}{1,2}\{1,2\} ニューロン: forνk(x1,…,xk−1):=xk−2+xk−1νk(x1,…,xk−1):=xk−2+xk−1\nu_k(x_1,\ldots,x_{k-1}):=x_{k-2}+x_{k-1}k∈{3,…,10}k∈{3,…,10}k\in\{3,\ldots,10\} 出力ノード: {5,9,10}{5,9,10}\{5,9,10\} このネットワークは8つのニューロンで構成されており、それぞれにバイアスとアイデンティティのアクティブ化がありません。つまり、このネットワークは、とによって生成された一般化フィボナッチ数列を計算し、この列から5番目、9番目、10番目の数をこの順序で出力します。x1x1x_1x2x2x_2 得点 実数所与小数拡張を終了すると、聞かせて最小の非負整数であるのための、およびlet最小の非負整数であるのためのこのは整数です。その後、我々は言うある精度の。xxxp(x)p(x)p(x)ppp10−p⋅|x|&lt;110−p⋅|x|&lt;110^{-p}\cdot |x|<1q(x)q(x)q(x)qqq10q⋅x10q⋅x10^q \cdot xp(x)+q(x)p(x)+q(x)p(x)+q(x)xxx たとえば、の精度はが、の精度はです。x=1.001x=1.001x=1.001444x=0x=0x=0000 スコアは、ニューラルネットワークの重みとバイアスの精度の合計です。 (たとえば、上記の例のスコアは16です。) 検証 根は3次式で表現できますが、最大の根はおそらく数値的手段で最も簡単にアクセスできます。XNORの提案、@の後、私は整数のすべての選択のための最大のルートを計算し、との結果がここで見つけることができます。このテキストファイルの各行の形式はです。たとえば、最初の行は、の最大ルートが約ます。a,b,c∈[−10,10]a,b,c∈[−10,10]a,b,c\in[-10,10]xは3 - …

1
配列とプログラムを半分に分割
前書き (何らかの理由で)長方形の整数配列を半分に均等に分割するプログラムを作成する必要があります。このタスクは計算集約型ですが、幸いにも計算を実行するデュアルコアマシンがあります。並列処理の利点を最大限に活用するには、プログラムを半分に均等に分割し、各コアが部分から独立して実行できるようにします。 入出力 入力は、少なくとも1×1のサイズの非負整数の長方形の2D配列であり、適切な形式で取得されます。このような配列の分割は、各水平行を接頭辞と接尾辞(どちらも空の場合があります)に分割することで得られます。分割を有効にするには、2つの隣接する行を同じインデックスまたは隣接するインデックスで分割する必要があります。たとえば、配列を考えてみましょう 2 4 5 5 6 3 9 7 1 7 7 0 0 0 3 6 7 8 1 2 4 7 6 1 6 6 8 2 0 0 これは有効な分割です: 2;4 5 5 6 3 ;9 7 1 7 7 0 ;0 0 3 6 …

3
最小コストのフロー問題
フローネットワークは有向グラフであるG = (V, E)ソース頂点とs ϵ Vシンク頂点t ϵ Vすべてのエッジ、および(u, v) ϵ E(ノードを接続グラフ上u ϵ Vとはv ϵ V)それに関連付けられた2つの量を有します。 c(u, v) &gt;= 0、エッジの容量 a(u, v) &gt;= 0、1つのユニットをエッジから送信するコスト 0 &lt;= f(u, v) &lt;= c(u, v)特定のエッジを通過するユニットの数になるように関数を定義します(u, v)。したがって、特定のエッジのコスト(u, v)はa(u, v) * f(u, v)です。最小コスト流問題は、所与の流量のための全てのエッジ上の総コスト最小化するように定義されるd以下の量で与えられるが、。 この問題には次の制約が適用されます。 容量要件:特定のエッジを通過する流れは、そのエッジの容量を超えることはできません(f(u, v) &lt;= c(u, v))。 スキュー対称性:方向が逆の場合、特定のエッジを通る流れは非対称でなければなりません(f(u, v) = -f(v, u))。 フローの節約:シンク以外の非ソースノードへの正味フローは0である必要があります(それぞれについてu ∉ {s, …

1
+-ナップザック問題
それぞれに重みと値が設定されたアイテムのセットを前提として、コレクションに含める各アイテムの数を決定します。これにより、合計の重みが特定の制限以下になり、合計値ができるだけ大きくなります。 詳細についてはウィキペディア たとえば、最大重みを15、値/質量が最大のオブジェクトを指定すると、スコアが36の場合に7つのオブジェクトと1 つのオブジェクト[5,2], [7,4] [1,1]が出力さ[7,0,1]れます。[5 &lt;value&gt;, 2 &lt;mass&gt;][1 &lt;value&gt;, 1 &lt;mass&gt;] ルール 入力は適切な形式で取得できます 出力も柔軟な形式で、 非標準のライブラリを使用することはできません。初期セットアップとは別に使用するためにライブラリをインストールまたはダウンロードする必要がある場合、それは許可されていません オブジェクトは負の質量と値を持つ可能性があります(つまり、-1、-1) 最適な回答が必要です 勝利 最短コードの勝利 負の質量と値? これは、この課題の重要な部分です。などのアイテム(質量、値)を持つオブジェクトと[4,3],[-1,-1]、容量が15のバッグがあるとします。最初のアイテムの3つを入れてスコアを9にするか、最初のアイテムの4つと-1、-1の1つを入れます。スコア11のオブジェクト。

13
比較チェーンを拡張
ほとんどの言語と異なり、Python a&lt;b&lt;cは数学で行われるように評価し、ブール値a&lt;bをと比較するのではなく、実際には3つの数値を比較しcます。これをC(および他の多くの)で記述する正しい方法は、a&lt;b &amp;&amp; b&lt;c。 この課題の課題は、このような任意の長さの比較チェーンをPython /直感的な表現から他の言語でどのように記述するかまで拡張することです。 仕様書 プログラムは演算子を処理する必要があります。 ==, !=, &lt;, &gt;, &lt;=, &gt;=。 入力には、整数のみを使用した比較チェーンがあります。 途中の比較の真実性について心配する必要はありません。これは、純粋に構文解析/構文上の課題です。 入力には、スペースで分割することで解析を簡単にする回答を防ぐための空白はありません。 ただし、出力には、&amp;&amp;' のみ、または比較演算子と&amp;&amp;'の両方のいずれか、または両方を囲む単一のスペースがある場合がありますが、一貫性があります。 テストケース Input Output --------------------------------------------------------------- 3&lt;4&lt;5 3&lt;4 &amp;&amp; 4&lt;5 3&lt;4&lt;5&lt;6&lt;7&lt;8&lt;9 3&lt;4 &amp;&amp; 4&lt;5 &amp;&amp; 5&lt;6 &amp;&amp; 6&lt;7 &amp;&amp; 7&lt;8 &amp;&amp; 8&lt;9 3&lt;5==6&lt;19 3&lt;5 &amp;&amp; 5==6 &amp;&amp; 6&lt;19 10&gt;=5&lt;7!=20 10&gt;=5 &amp;&amp; 5&lt;7 &amp;&amp; …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

30
int入力nを指定して、n * reversed(n)を出力します
整数nを指定して出力n * reversed(n) reversed(n)は、reverseの桁を取得したときに取得する数値ですn。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短のコードが勝ちます! リーダーボード コードスニペットを表示 var QUESTION_ID=144816,OVERRIDE_USER=71625;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&amp;&amp;answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&amp;&amp;(r="&lt;h1&gt;"+e.body.replace(OVERRIDE_REG,"")+"&lt;/h1&gt;")});var a=r.match(SCORE_REG);a&amp;&amp;e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

3
制限されたメモリの最適化
2つの文字列間の編集(またはレーベンシュタイン)距離は、1つの文字列を別の文字列に変換するために必要な単一文字の挿入、削除、および置換の最小数です。2つの文字列の長さがそれぞれnである場合、これは動的プログラミングによってO(n ^ 2)時間で実行できることがよく知られています。次のPythonコードは、2つの文字列s1とに対してこの計算を実行しますs2。 def edit_distance(s1, s2): l1 = len(s1) l2 = len(s2) matrix = [range(l1 + 1)] * (l2 + 1) for zz in range(l2 + 1): matrix[zz] = range(zz,zz + l1 + 1) for zz in range(0,l2): for sz in range(0,l1): if s1[sz] == s2[zz]: matrix[zz+1][sz+1] = min(matrix[zz+1][sz] + …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.