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

順列は、オブジェクトのリストの特定の順序です。順列でタグ付けされた問題には、通常、テキストのアナグラムを含む順列の検索または生成が含まれます。

6
助けて!電卓が誤動作します!
前書き 電卓の動作がおかしい。入力するときにが8表示されることがあり2ます。そして時々私がタイプするとき6それは表示する+。いくつかのボタンが混同されています! 誰が私がどちらを決定するのを手伝ってもらえますか? チャレンジ: 入力:間違った方程式のリスト、正しい結果。 出力:交換される2つのボタン。 例: 入力は次のとおりです。 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 そのために期待される出力は、次のとおり2と*。 どうして?2と*を入れ替えると、すべての方程式が正しいからです。 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 チャレンジルール: 入力は任意の合理的な形式にすることができます。スペースで区切られた単一の文字列にすることができます。文字列リストまたは-array。方程式のリストと正しい結果の別のリスト。あなたの電話。使用した入力形式を明記してください! 注:これは-5--15、-5- -15またはとしてテストケースを入力できることも意味します-5 …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

27
ビット反転順列
目標は、整数nが与えられた整数の範囲のビットを反転する関数またはプログラムを作成することです。言い換えると、インデックスがゼロの2 n個のアイテムの範囲のビット反転順列を検索する必要があります。これは、OEISシーケンスA030109でもあります。このプロセスは、FFTのインプレースCooley-Tukeyアルゴリズムなど、高速フーリエ変換の計算でよく使用されます。また、長さが2の累乗であるシーケンスのFFTの計算にも課題があります。 このプロセスでは、範囲[0、2 n -1] を反復処理し、各値をバイナリに変換し、その値のビットを反転する必要があります。各値を基数2のn桁の数値として処理します。つまり、反転は最後のnビットの間でのみ発生します。 たとえば、n = 3の場合、整数の範囲はです[0, 1, 2, 3, 4, 5, 6, 7]。これらは i Regular Bit-Reversed j 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 111 …

5
ブラケットをバブルします!
このサイトには、ブラケットのバランス、およびブラケットのバランスの確認に関するいくつかの質問があります。バランスの取れたブラケットを何かに使う時が来たと私は提案します! 数学とプログラミングでは、ブラケットは泡のようなもので、内側のすべてが外側のすべてから隔離されているため、内側のすべてが平和に機能し、外側のすべてが1つのオブジェクトしか見ることができません。ただし、括弧のストリングは1次元ですが、通常、バブルは少なくとも2次元です。つまり、互いに接触したり、他のバブルの内側と外側を交差したりしない限り、バブルは自由に動き回ることができます。 チャレンジ 入力は、round ()、square []、curly、{}またはangleのいずれかの単一タイプの一致した括弧のストリングです<>。プログラムがどの種類を受け入れるかはあなた次第であり、1種類のブラケットのみを受け入れるプログラムは受け入れられます。(プログラムがそれらのいずれかを処理できる場合は架空のボーナス、同じ入力ですべてを処理できる場合は大規模な架空のボーナスポイント)。 出力は、同じ構成のバブルを生成し、2つの同一の文字列を持たないブラケットのすべての可能な再編成(元の入力を含む任意の順序)です。これは、技術的には場所を入れ替えることができる2つのバブルであるにもかかわらず、入力がの()()場合、出力もちょうど()()であることを意味します。大規模な想像上のボーナスの場合、{}[]()当然、入力は6つの異なる要素/文字列/行の出力につながります。 バブルを別のバブルの内側から外側へ、または外側から内側へクロスさせずに、バブルを移動させて一方をもう一方にすることができる場合、2つのバブルの構成は「同じ」です。ネストされた括弧をツリーにたとえると(一致する各ペアは1つのノードであり、その中の一致するすべてのペアはサブノードであり、その中の一致する各ペアは再びそれらのサブノードであり、以下同様)、任意のノードのサブノードが順序付けられます、バブルの単一の構成は、ノードが順序付けられていないツリーです。 文字列のリストまたは単一文字のリストのリストまたは何らかの種類の空白を含む単一文字列を返す、stdoutまたはstderr何らかの形式の表示可能な空白文字(最も一般的には改行またはスペース)各再編成。 各再編成の末尾のスペース、および実際の出力の前後の改行および空のリスト要素の末尾と先行が許可されます。入力で受け入れるのと同じ種類のブラケットを出力で使用する必要があります。ここで指定されている角かっこ、改行、スペース、および使用するセパレータは別として、何も印刷しないでください(不可視/幅ゼロの文字を含む)。 スコアは、コード内のバイト数です。各言語の最低カウントが優先されます。想像上のボーナスを定期的に獲得するか大量に獲得するかは注意できますが、スコアには影響しません。実際のボーナスはあまりにも難しいため、バランスを取ることができません。 入出力の例 例1: 入力: ()(()) 出力: ()(()) (())() 例2: 入力: (()())()() 出力: (()())()() ()(()())() ()()(()()) 例3: 入力: (()(()))() 出力: ((())())() ()((())()) (()(()))() ()(()(()))

29
文字列をアルファベット順に並べ替えます
仕事 入力文字列(または文字の配列)が与えられると、その文字列内の文字のあらゆる可能な順列を出力するプログラムを書くことがあなたの目標です。私は自分の出力に精通しているので、重複しないようにアルファベット順にソートする必要があります。 例: 入力: buzz 出力: buzz bzuz bzzu ubzz uzbz uzzb zbuz zbzu zubz zuzb zzbu zzub ルール これはコードゴルフなので、最短のコードが優先されます。 各行の末尾のスペースは問題ありません 最後の行の後の単一の改行が許可されます(それ以上は許可されません)

30
無効なInvali Inval
このアイデアは、@TùxCräftîñgのチャットメッセージに大まかに基づいています。 以下のシーケンス例をご覧ください。 INVALID0、INVALID1、INVALID2 INVALID3、INVALID4...INVALID9 後INVALID9、次のようになります。 INVALI0、INVALI1、INVALI2、INVALI3...INVALI9 そしてINVALI9、次のようになります: INVAL0、INVAL1、INVAL2、INVAL3...INVAL9 その後、次INVAL9のようになります。 INVA0、INVA1、INVA2、INVA3、...INVA9 INVALID毎回単語から文字を削除し続けていることに注目してください。 単一の文字、つまり文字に到達するまで、これを繰り返しますI。 I0、I1、I2、I3、I4...I9 さて、あなたの仕事は、単語の入力を取得し、上記の例のようにそれからシーケンスを生成することです。コードも1文字で動作する必要があり、その場合、結果のシーケンスは短くなります。 任意の入力および出力形式を選択できます(必要に応じて、セパレーターの有無にかかわらず)が、選択したものを指定する必要があります。 シーケンスは、正確に指定された順序である必要があります。 このチャレンジを正常に完了する最短のコード(バイト単位)がチャレンジに勝ちます。 上記の例の完全なシーケンス: INVALID0, INVALID1, INVALID2, INVALID3, INVALID4, INVALID5, INVALID6, INVALID7, INVALID8, INVALID9, INVALI0, INVALI1, INVALI2, INVALI3, INVALI4, INVALI5, INVALI6, INVALI7, INVALI8, INVALI9, INVAL0, INVAL1, INVAL2, INVAL3, INVAL4, INVAL5, INVAL6, INVAL7, INVAL8, INVAL9, INVA0, INVA1, …

13
超順列
前書き あなたは、新しいハイテクスタートアップDejavuからいくつかの秘密の計画を盗むことを任された犯罪者です。奥の壁をこっそり覗き込みますが、ドアを開くにはピンが必要です。ロックのメーカーを認識し、0〜4のすべての数字を使用して5桁のピンを取ることを知っています。各桁が入力されると、ロックは入力された最後の5桁をチェックし、コードが正しい場合は開きます。あなたは、このロックをすり抜けなければなりません。 一言で言えば超順列 順列は、特定の数字セットのすべての可能な組み合わせです。たとえば、数字0、1、2のすべての順列は次のとおりです。 012、021、102、120、201、および210。 これらすべての順列を連結すると、スーパー順列が得られます。 012021102120201210 このスーパー順列には0、1、2の順列がすべて含まれていますが、これよりも短い順列を作成することもできます。ここでは少しスキップしますが、これらの数字の最短のスーパーパーミュテーションは次のとおりです。 012010210 私たちの意図と目的のために、これは本質的にそれらの数字のすべての可能な順列、すなわちスーパー順列を含む数字の最短文字列です。 仕事 心配する必要のある数字がさらに2桁あるため、上記のスーパー順列の例よりもタスクが少し難しくなります。-スーパー順列について読んでいない場合、または上記の私の例が少し不明瞭だった場合、このテーマに関するパトリック・ホナーのこの素晴らしい記事を読むことを強くお勧めします(この挑戦は彼の記事に非常に強く触発されたので、彼に敬意を表します):https://www.quantamagazine.org/unscrambling-the-hidden-secrets-of-superpermutations-20190116/。あなたの目標は、数字0〜4のスーパー順列を生成する可能な限り短いプログラムを書くことです。 得点 プログラムはいかなる種類の入力も受け付けず、0から4までの数字のスーパー順列を生成します。この結果のスーパー順列は、選択した言語が提供する範囲でコンソールに出力するか、ユーザーに表示する必要があります。これは可能な限り短い順列である必要はなく、有効なスーパー順列でなければなりません。このため、目標は最短の順列を持つ最短のプログラムを書くことです。そのため、次のようにスコアを計算する必要があります。 ファイルサイズ(バイト)*生成されたスーパーパーミュテーションの長さ(桁) たとえば、40バイトのプログラムがあり、スーパー順列の長さが153桁の場合、スコアは次のようになります。 40 * 153 = 6120 いつものように、目標はこのスコアをできるだけ低くすることです。 テンプレート 回答を投稿する方法は次のとおりです。 言語| スコア 作業環境のコードへのリンク(可能な場合) code snippet コードの説明など ファイナリティ これは、このサイトに関する最初の質問の1つです。それで、私が何かを逃しているのか、私の挑戦のセクションが不明確なのか教えてください。ありがとう、そして楽しいゴルフを!

11
Anagram Quines(警官のスレッド)
これは警官と強盗の挑戦です。強盗のスレッドはこちらにあります あなたの挑戦は、ソースコードのアナグラムを出力するが、元のソースコード自体は出力しないプログラムを書くことです。 たとえば、次のPythonプログラムは、 print`'print*2``'*2` プリント 'print*2``print*2``' 元のソースと同じ文字をすべて持っていますが、順序は異なります。 そのようなプログラムを見つけたら、それを生成するプログラムを省略した回答としてプログラムの出力を含めます。ご想像のとおり、強盗はあなたが隠したプログラム、または仕様に合ったプログラムを見つけようとします。あなたの目標は、強盗がクラックできない最短のプログラムを作成することです。 ルール 警官と強盗のほとんどの課題と同様に、回答が1週間クラックされない場合は、回答に目的のソリューションを追加し、安全とマークすることができます。いったん安全になったら、強盗によって答えを解読することはできません。 意図したソリューションの言語を含める必要はありませんが、言語を含めない場合、強盗はチャレンジより前の言語でそれをクラックできますが、言語を指定すると、提供された言語でのみクラックする可能性があります。 Quinesの標準ルールが適用されます。

21
コード内のミラー、ミラー
多くの場合、2次元プログラミング言語には、グリッド上の命令ポインターをリダイレクトするためのミラーコマンドが/あります\。 >>>>\ v v <<<</ この課題では、着信方向とミラーを指定し、発信方向を決定する必要があります。 ルール 到来方向は、文字の一つとして説明するNESWと、ミラーは、いずれかとして与えられる/、または\。これらは任意の順序で受け取ることができます。大文字を使用する必要があります。 2文字の文字列、文字間の区切り文字を使用した文字列、リスト内の文字のペア、またはシングルトン文字列のペアなど、任意の便利な形式で入力を取得できます。区切り文字付きの文字列を使用する場合、区切り文字には文字を使用できませんNWSE\/。 出力は、からの文字NESWまたは単一文字の文字列でなければなりません。 プログラムまたは関数を作成し、入力を受け取り出力を提供する当社の標準的な方法のいずれかを使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定される最短の有効な回答が勝ちます。 テストケース 処理する必要がある入力は8つしかないため、すべてのコードをテストしない理由はありません。 N / --> W N \ --> E E / --> S E \ --> N S / --> E S \ --> W W / --> N W \ --> S

8
順列の鳩の穴の原理
数独のゲームでは、多くのプレイヤーが各スクエアに入れることができる数字を「ペンシルイン」することを好みます。 上記の行は配列として表すことができます: [[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [1,2,4], [8]] ここで、a 4が行くことができる場所が1つしかないことに注意してください。これにより、上記のリストを次のように単純化できます。 [[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [4], [8]] この課題の目的は、順列で可能な数のリストを取得し、どの可能性を排除できるかを推測することです。 別の例として、次の可能性の配列があるとしましょう。 [[0,1,3], [0,2,3], [1,2], [1,2]] 最後の2つの場所には 1と2を入力する必要があります。したがって、配列の最初の2つの要素からこれらの可能性を削除できます。 [[0,3], [0,3], [1,2], [1,2]] 別の例として: [[0,1,2,3], [0,2], [0,2], [0,2]] その不可能の両方のための唯一の1箇所がありますように、上記の可能性から順列を構築する1と3、あなたは空の配列を返すようにしたいでしょう。 可能性のリストを入力し、可能性の最大数が除去された後に残りの可能性を出力する必要があります。 特定の配列が不可能な場合は、空の配列を返すか、サブ配列の1つが空の配列を返す必要があります。 配列は整形式であり、少なくとも1つの要素があると想定できます。 サイズの配列が与えられたN場合、部分配列の数値は常に範囲内[0:N)にあると仮定できます。N <= 10 から0までのすべての数字N-1が存在するとは限りません 単一のサブアレイ内の番号は一意であると想定できます。 サブアレイに単一の可能性のみが含まれる場合、可能性を配列で表すか、単独で表すことができます。 [[1],[2],[0]]、[1,2,0]、[[1,2],0,[1,2]]すべて有効です。 …

24
並べ替えられた!Combinatorics:Subfactorialの計算
subfactorial又はrencontres番号(A000166は)置換の組合せ論に表示階乗番号と同様の番号のシーケンスです。特に、n番目の階乗!nは、n個の要素のセットの混乱の数を示します。混乱とは、同じ位置に要素が残っていない順列です。サブ階乗は、次の繰り返し関係を介して定義できます。 !n = (n-1) (!(n-1) + !(n-2)) 実際、階乗についても同じ再帰関係が成り立ちますが、下位階乗については次から始まります。 !0 = 1 !1 = 0 (階乗の場合、もちろん1!= 1になります。) あなたの仕事は計算することである!nは、与えられたn個。 ルール 階乗のように、階乗も非常に速く成長します。プログラムが入力nのみを処理でき、!nが言語のネイティブの数値型で表現できる場合は問題ありません。ただし、アルゴリズムは理論的には任意のnに対して機能する必要があります。つまり、積分結果と中間値は、言語で正確に表現できると仮定できます。定数eが有限精度で保存または計算される場合、これは定数eを除外することに注意してください。 結果は正確な整数である必要があります(特に、科学表記法で結果を近似することはできません)。 プログラムまたは関数を作成し、入力を受け取って出力を提供する標準的な方法を使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース n !n 0 1 1 0 2 1 3 2 4 9 5 44 6 265 10 1334961 12 176214841 13 2290792932 14 32071101049 20 895014631192902121 …

3
簡易カーニングを実装する
前書き カーニングとは、テキストの文字間の間隔を調整することを意味します。例として、Top次の3つのグリフで書かれた単語を考えます。 ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... グリフ間のギャップをドットで埋めて完了させることもできますが、ギャップはどうやら広すぎるように見えます。代わりに、グリフを左にスライドさせて、ほとんど触れないようにします。 #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... これはずっと良く見える!のバーがTの左の境界線の上にあることに注意してくださいo。この課題では、このような長方形のグリフに簡単なカーニングプログラムを実装することがタスクです。 カーニングプロセス 二長方形の2次元文字配列考える.と#同じ形状を。単純なカーニングプロセスでは、最初に1列の.sを挟んで配列を並べて配置します。次に、#右と左の配列のいくつか#が直交または斜めに隣接するまで、右の配列のそれぞれを左に1ステップ移動します。カーニングの結果は、隣接するを導入する前のステップ#です。あなたの仕事は、このプロセスを実装することです。 例を見てみましょう: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: ..###....#. …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
アナグラムクインのゴルフ
で、この質問、私は、その出力に基づいてアナグラムQUINEを推測することができ尋ねました。しかし、アナグラム・クインにゴルフをすることをまだ質問していないようです。したがって、あなたの仕事は、できる限り短いアナグラム馬を作ることです。 アナグラムクインとは何ですか? アナグラムクインは、元のソース以外のソースコードのアナグラムを出力する空でないプログラムです。 Python 2のアナグラムクインの例を次に示します。 print`'`print`*2'*2` この挑戦のためにあなた自身のソースを読むべきではありません。

20
注文をまねる
sourceとpatternの 2つの数値リストを指定すると、パターンの相対的な順序に一致するようにソースを並べ替えます。再配列されたソースの2つのエントリは、パターンの同じ位置のエントリと同じ方法で比較する必要があります。 たとえば、入力 s = [-5, 9, 4, 13, 11, -6, 0] p = [7, -4, 1, -8, 4, -3, 12] 結果を生成する必要があります [11, -5, 4, -6, 9, 0, 13] 最初と最後の位置を比較すると、結果には11<13があり7<12、パターンで一致します。 入力:整数の2つの等しい長さの空でないリスト。各リストには繰り返しはありません。ソースまたはパターンが最初に与えられるかどうかはあなた次第です。 出力:パターン番号と同じ相対的な順序になるようにソース番号を再配置するリスト。 リーダーボード: コードスニペットを表示 var QUESTION_ID=62587,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/62587/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&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&&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)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var …

23
エンコード-シャッフル-デコード
チャレンジ あなたの仕事は整数をASCII文字の文字列としてエンコードし、その文字列がランダムにシャッフルされた後にそれを正常にデコードすることです。 EncoderおよびDecoderと呼ばれる2つのプログラム/関数を作成します。 エンコーダー 入力:範囲整数。nnn[ 0 、231− 1 ][0,231−1][0,2^{31}-1] 出力:文字列のアスキー文字(必ずしも印刷可能ではありません)。sss デコーダ 入力:文字列ランダムな順列。s′s′s'sss 出力:整数。nnn 得点 ましょである最大長ののすべての可能な値を横切る。エンコーダが非決定的に動作する場合(これは許可されています。以下を参照)、は発生する可能性ある最大長になります(おそらく)。AAAsssnnnAAAsss∞∞\infty してみましょうあることの長さエンコーダバイトでの長さデコーダバイトインチLELEL_ELDLDL_D スコアはです。A ⋅ (LE+ LD)A⋅(LE+LD)A\cdot(L_E+L_D) 最優秀得点の提出に対して勝利が授与されます。 制限時間 単一のテストケースのエンコーダーとデコーダーの両方の実行時間には、1分というやや任意の時間制限があります(つまり、単一の値)。nnn 目標は、特定のプロパティを持つすべてのシーケンスを列挙することにより、ブルートフォースエンコーディングを見つけるソリューションを回避することです。あなたのソリューションがそれよりも賢い何かをするなら、それはおそらく時間の制約に適合し、有効と見なされます。同様に、ランダムに選択された値に対してTIOで機能する場合、有効と見なされます。それ以外の場合は、マシンでテストしますが、ソリューションが純粋なブルートフォースの場合、ほぼ確実に失敗することに注意してください。nnn ルール エンコーダとデコーダはで記述する必要があり、同じ言語。 デコーダを出力しなければならない正しい整数あらゆる可能な順列のためのの文字列のによって返さエンコーダ。nnns′s′s'sss エンコーダとデコーダはされていないに許さ株式情報(グローバル変数やファイルによって、例えば)どのような方法インチ エンコーダーの出力は確定的である必要はありません(つまり、エンコーダーが複数回実行される場合、同じ入力は異なる出力文字列を生成する可能性があります)が、デコーダーは常に正しい整数推測する必要があります。nnnnnnn エンコーダおよびデコーダは取り、整数を返すことができるに任意の便利な方法(例えば、もしの入力がされることが結構です、または)。nnnn = 14n = 14n=14n=1414"14"[1,4] エンコーダ出力してもよいストリングのいずれかによって印刷の上にまたはによって返却文字列を、文字のリスト/配列または範囲内の整数のリスト/配列。そのノートデコーダは、入力としての順列受け取るで返されるエンコーダがストリング受け入れるべきであるので、において同じフォーマットとして。sss[ 0 、127 ] S 、S 'のstdout [ 0 、127 ][0,127][0,127]ssss′s′s'sss 標準的な抜け穴は禁止されています。 可能であれば、コードの仕組みと、主張するスコアが正しい理由を説明してください。 例 と仮定します。n = …

26
単語のランクを見つける
定義 単語のランクは、単語が意味のあるかどうかに関係なく、辞書のように、文字の可能なすべての順列(または配置)がアルファベット順に配置されるときの単語の位置として定義されます。 「青」と「見える」という2つの単語を考えてみましょう。そもそも、これらの単語の文字のすべての可能な配置をアルファベット順に記述します。 "blue": "belu","beul","bleu","blue","buel","bule","eblu","ebul","elub","elbu","eubl", "eulb","lbeu","lbue","lebu","leub","lube","lueb","ubel","uble","uebl","uelb", "ulbe","uleb" "seen": "eens","eesn","enes","ense","esen","esne","nees","nese","nsee","seen", "sene","snee" 次に、左から見て、必要な単語の位置を見つけましょう。「blue」という単語が4番目の位置にあり、「seen」という単語が10番目の位置にあることがわかります。したがって、単語「blue」のランクは4、「seen」のランクは10です。これは、単語のランクを計算する一般的な方法です。必ず1からカウントを開始してください。 仕事 あなたの仕事は、入力として任意の単語を取り、そのランクを表示するコードを書くことです。ランクが出力になります。繰り返し文字を含む単語には注意してください。 例 "prime" -> 94 "super" -> 93 "bless" -> 4 "speech" -> 354 "earth" -> 28 "a" -> 1 "abcd" -> 1 "baa" -> 3 入力は完全に小文字であると想定でき、入力にはアルファベット文字のみが含まれます。また、空白または無効な文字列が入力された場合は、何でも返すことができます。 得点 これはcode-golfなので、最短のコードが優先されます!

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