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

この課題は、並べ替え、順序付け、またはその他の方法でデータセットを整理することによって解決することを目的としています。

2
マトリックスのルービック分類(別名トーラスパズル)
このコードチャレンジのアイデアは単純です。整数の行列が与えられた場合、ルービックスタイルの動きを適用して並べ替えます。つまり、単一の行または列を選択し、その要素を任意の方向に回転できます。 [1, 3, 2, 4] => [3, 2, 4, 1] (rotate left for rows/up for columns) [1, 3, 2, 4] => [4, 1, 3, 2] (rotate right for rows/down for columns) したがって、任意の次元の整数の行列が与えられた場合、これらのルービックスタイルの変換のみを適用して要素を並べ替えます。行列 ⎡⎣⎢a11a21a31a12a22a32a13a23a33a14a24a34⎤⎦⎥[a11a12a13a14a21a22a23a24a31a32a33a34] \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ …

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

6
コードゴルフ:同じ種類のものが触れないようにナッツを混ぜます
入力: 入力は、(あなたの言語での)ナッツのランダム化された配列であり、可能なナッツが続きます。プログラムには、整数コードなど、さまざまな種類のナットを表す方法が必要です。プログラムは、ナットのあらゆる構成のあらゆるサイズの配列を処理できる必要があります。 可能なナット: Kola nut Macadamia Mamoncillo Maya nut Mongongo Oak acorns Ogbono nut Paradise nut Pili nut Pistachio Walnut 出力: 出力は、同じ種類の隣接するナットがないような方法でソートされた配列でなければなりません。これが不可能な場合、出力は空の配列でなければなりません。 入力例(簡略化): ["walnut", "walnut", "pistachio"] 出力例: ["walnut", "pistachio", "walnut"] ソリューションは、偶然に一意になるまでアレイを単純にシャッフルしない場合があります。採用されるソートは決定論的なものでなければなりません

15
都市名ゲーム
必要に応じて、都市名ゲームのルールに従って都市をソートするプログラムを作成します。 都市の各名前は、前の都市名の最後の文字から始まる必要があります。例えばLviv -> v -> Viden -> n -> Neapolis -> s -> Sidney -> y -> Yokogama -> a -> Amsterdam -> m -> Madrid -> d -> Denwer ソートされたリストで、最初の都市の最初の文字と最後の文字の最後の文字は何も一致してはいけません。同じ文字である必要はありません。 都市名には文字のみが含まれると想定できます。 プログラムの出力は、入力と同じ大文字にする必要があります 例: % ./script Neapolis Yokogama Sidney Amsterdam Madrid Lviv Viden Denwer ["Lviv", "Viden", "Neapolis", "Sidney", "Yokogama", "Amsterdam", …

22
2D配列の行と列のブロックソート
整数の2D配列が与えられた場合、その行と列をブロックで並べ替えましょう。つまり、特定の行または列を並べ替えるだけで、並べ替えに必要な変換を2D配列の他のすべての行または列に適用できます。 ルール 入力は、整数の2D配列と1インデックス付き整数になります。この整数は、数値が正の場合にソートされる行を表し、数値が負の場合にソートされる列を表します(または、必要に応じて逆になります)。例:(4x3行x列)配列を指定すると、2番目の列を-2引数で、または3番目の行を引数でソートでき3ます。この2番目の引数はゼロになることはなく、その絶対値は配列の対応する次元より大きくなることはありません。 出力は、指定された行または列をソートするために必要な変換が適用された整数の2D配列にもなります。または、STDOUTに配列を書き込むこともできます。 出力配列には、指定された行または列が昇順でソートされます。行の2つの数字を交換する必要がある場合、数字が配置されている列全体が交換されることに注意してください。また、列内の2つの数字を交換する必要がある場合、数字が配置されている行全体が交換されます。 並べ替えられる行/列に同じ番号が複数回現れる場合、値を交換する方法に応じていくつかの解決策があり、交換される残りの行/列に応じてそれを行うだけです。 例 Positive indices for rows and negative indices for columns [5 8 7 6 [1 3 2 4 1 3 2 4 order by -3 (3rd column) --> 9 6 3 0 9 6 3 0] 5 8 7 6] [5 8 7 6 …

17
配列のXORソート
キーと文字列の配列が与えられたら、配列をシャッフルして、各要素がキーとXORされたときにソートされるようにします。 2つの文字列のXOR キーで文字列をXORするには、キーが永久に繰り返されると想定して、キーのペアで文字列の各文字値をXORします。たとえば、abcde^123次のようになります。 a b c d e 1 2 3 1 2 -------------------------------------------- 01100001 01100010 01100011 01100100 01100101 00110001 00110010 00110011 00110001 00110010 -------------------------------------------- 01010000 01010000 01010000 01010101 01010111 -------------------------------------------- P P P U W 仕分け 並べ替えは、常にXORされた文字列を辞書的に行う必要があります。つまり、1 < A < a < ~(ASCIIエンコードを想定) 例 "912", ["abcde", "hello", "test", "honk"] …

18
長方形行列の並べ替え
行列が与えられると、のA各行と列Aが並べ替えられている場合(行の場合は左から右、列の場合は上から下に昇順)、「並べ替えられている」と言えます。したがって、このマトリックスはソートされます。 [ 1 2 3 4 5 ] [ 2 2 3 4 5 ] [ 3 3 3 4 5 ] [ 4 4 4 4 5 ] [ 5 5 5 5 5 ] ただし、このマトリックスはソートされていません。 [ 1 2 3 4 5 ] [ 2 1 3 4 5 …

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

3
バロウズ、ホイーラー、バック
バックグラウンド バローズ-ウィーラー変換(BWT)のようなプレーンテキストとして文字列の特定の種類の類似文字の大実験における結果は、文字列の文字の可逆的置換です。たとえば、bzip2圧縮アルゴリズムで使用されます。 BWTは次のように定義されます。 などの入力文字列が与えられた場合、codegolf可能なすべての回転を計算し、辞書式順序で並べ替えます。 codegolf degolfco egolfcod fcodegol golfcode lfcodego odegolfc olfcodeg 文字列のBWTは、codegolf各文字列の最後の文字がその順序で構成されている文字列、つまり上のブロックの最後の列です。のためcodegolf、これはをもたらしfodleocgます。 文字列codegolfとgolfcode結果は同じ文字列になるため、この変換自体は可逆的ではありません。ただし、文字列がで終わることがわかっている場合f、可能なプレイメージは1つだけです。 仕事 STDINから、またはコマンドラインまたは関数の引数として単一の文字列を読み取り、BWTまたはその入力文字列の逆数を出力または返す、複雑なプログラムまたは関数を実装します。 入力文字列にスペースが含まれていない場合、サブミッションは入力に単一のスペースを追加し、BWTを計算する必要があります。 入力文字列にすでにスペースが含まれている場合、後続のスペースがあるBWTのプリイメージを計算し、そのスペースを削除する必要があります。 例 INPUT: ProgrammingPuzzles&CodeGolf OUTPUT: fs&e grodllnomzomaiCrGgPePzu INPUT: fs&e grodllnomzomaiCrGgPePzu OUTPUT: ProgrammingPuzzles&CodeGolf INPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< OUTPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R INPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R OUTPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 追加のルール …

14
CodeGolf-ノイズを無視する#1
説明書 Barryは、クライアントのショップで行われた購入に関する情報を提供する小さなAPIを担当するそれほど優れたバックエンド開発者ではありません。ただし、彼は素晴らしい仕事をしておらず、上司から代わりにクライアント側で修正するように言われています。理想的にはあなたのようなカンマ区切り値を受けるべき927,2,45,90のようなものに対応しますitem_id、item_amount、unit_price、total この最初のパズルでは我々だけを気にitem_idしてitem_amountいますが、問題を提示する代わりに他のフィールドを必要としています。バリーは、時々混ぜものとリターンノイズ出力の一部として、彼はまた戻って、順序が間違っを取得を取得しnoise、noise、unit_price、total、item_id、item_amount。 あなたのタスク あなたはのペアマップ(または類似の構造)に格納する必要があるitem_idとitem_amountにかかわらず、バリーが正しくかどうか、それらを返し、可能な文字の最小数に新しい行の各要素を印刷するかどうか。(保存は必須ではなく、出力に注意するだけです) サンプル入力(正しい形式と乱雑な形式の混合) 103,2,50,100 106,1,900,900 459,40,150,300,67,2 4,20,30,6000 言い換えると、入力は、&が重要な場所のいずれかa,b,x,xまたはx,x,x,x,a,b場所になります。csvのすべての行で(または他の名前)と呼ばれる変数があると仮定して、コードを提供する必要があります。abG サンプル出力 103,2 106,1 67,2 //This one was messy 4,20 公差 答えになると、許容範囲に一定のマージンがあります。同様の形式で正しい値に準拠した回答も受け入れられます。フォーマットは好き[a,b]、(a,b)または{a,b}有効であるが、a,b好ましいです。 最初のパズルは、簡単かつ迅速に解決できるという事実により、受け入れられていましたが、一部の人々もそれを気に入っていると感じました。それで、今のところクイックゴルフを続けます

2
病理学的分類
病理学的分類 上司は、会社のアプリケーションのパフォーマンスを改善するために、ソートアルゴリズムを開発することを要求しています。ただし、アプリケーションを作成したので、大幅に高速化できる可能性は低いことがわかります。上司を失望させたくないので、特定のデータセットを* sortするよりも優れた新しいアルゴリズムを開発することにしました。もちろん、アルゴリズムが一部のケースでのみ機能することを明確にすることはできません。そのため、可能な限り曖昧にする必要があります。 このコンテストの目的は、選択した言語でソートルーチンを記述し、特定のデータセットで他のデータセットよりも高いパフォーマンスを発揮し、再現性のある結果を出すことです。速度を決定する分類が具体的であるほど、より良い結果になります。アルゴリズムは何らかのソートを行う必要があるため、既に完全にソートされているデータに依存するアルゴリズム(何もしないアルゴリズムなど)、または完全に逆にソートされているデータに依存するアルゴリズムは両方とも無効です。並べ替えアルゴリズムは、データのセットを正しく並べ替える必要があります。 ルーチンを提示した後、特定のデータセットでのみ機能する理由の説明を含め、少なくとも1つの良い(高速)データのセットと1つの悪い(低速)データのセットでテストを実行してください。ここでのポイントは、あなたが上司に、より良いソート方法につまずいたことを証明できるようにすることです。したがって、より多くのテストデータが優れています。もちろん、上司に良いデータからのテスト結果を表示するだけなので、必要なテストデータの欠陥はあまり明白ではありません。あなたの言語に該当する場合、あなたのアルゴリズムがあなたの言語の組み込みソートアルゴリズムよりも速いことを示してください。 たとえば、挿入ソートアルゴリズムを送信する場合、挿入ソートはほぼソートされたデータのO(n)に近づくため、良好なデータは既にほぼソートされたデータであり、不良データは完全にランダムなデータです。しかし、上司はおそらく、テストデータのすべてがそもそもほぼ並べ替えられていることに気付くので、これはあまり良くありません。 これは人気コンテストなので、7日後(5月21日)に投票数が最も多い回答が勝ちます。 誰も私に負けない場合は、均一に分散されたデータセットを利用するコミュニティWikiの回答を送信したいと思います。

6
未ソート配列にセミソートを挿入
PPCG Incの最初の日へようこそ。最新のジュニアアシスタントドキュメントソーターとして、送信されたすべてのドキュメントがアルファベット順にアーカイブされていることを確認する責任があります。猿ができるのはとても簡単です。まあ、比phor的に言えば、私たちはそれを行うために猿を雇ったのです。何だと思う?サルはアルファベットを理解していないことがわかります。とにかく、今の混乱を修正する時間がないので、状況を悪化させないようにしてください。その後、それを取得します!おなかがすいたら、ウォータークーラーのそばにバナナがあります。幸運を! 仕事内容 入力 文字列のリスト(アーカイブ)と、そのリストに追加する必要のある文字列(ドキュメント)を受け取ります。 すべての文字列には、大文字、小文字、スペースのみが含まれます 文字列は常に文字で始まり、文字で終わる 仕事 ドキュメントのターゲット位置を決定します:アーカイブ内で受け取るべき位置。目標位置は次のように決定できます。 各ポジションについて: 文書内のアルファベット順で、その位置の前のアーカイブ内の文字列の量を数えます 文書内のアルファベット順で、その位置の後のアーカイブ内の文字列の量を数えます 上記の2つのカウントの合計としてポジションのスコアを定義します ドキュメントの目標位置は、最高スコアの位置です 同点の場合、最高スコアのすべてのポジションがターゲットポジションとして等しく有効です。1つだけを選択する必要があります。 ソートする場合: 大文字と小文字は同等です 文字の前にスペースが来る 出力 任意の形式でドキュメントが追加されたアーカイブ または 0ベースまたは1ベースのインデックスでのドキュメントのターゲット位置 職務評価 最少バイトが勝ちます! I / Oの例 Archive: Applebuck Season Friendship is Magic The Ticket Master Griffon the BrushOff Boast Busters Bridle Gossip Document: Dragonshy Position scores (0-based index): 0: …

3
リストの結合解除
前書き ほとんどの人は、数値のリストをソートするためのマージソートアルゴリズムに精通しています。アルゴリズムの一部として、merge2つのソート済みリストを1つのソート済みリストに結合するというヘルパー関数を作成します。Pythonのような擬似コードでは、関数は通常次のようになります。 function merge(A, B): C = [] while A is not empty or B is not empty: if A is empty: C.append(B.pop()) else if B is empty or A[0] ≤ B[0]: C.append(A.pop()) else: C.append(B.pop()) return C アイデアは、最初の要素の小さい飛び出る維持することであるAとのB両方のリストが空である、とに結果を収集するまでC。場合AとBの両方にソートされ、その後、そうですC。 逆に、if Cがソートされたリストであり、それを任意の2つのサブシーケンスに分割した場合、AおよびB、AおよびBもソートされますおよびmerge(A, B) == C。興味深いことに、Cソートされていない場合、これは必ずしも当てはまらないため、この課題が発生します。 入力 あなたの入力はリストとして与えられたいくつかの最初の2*n非負整数の順列です。[0, 1, 2, ..., 2*n-1]n > …

24
ソートされた2つのリストをマージする
ソートのマージ この課題では、マージソートのマージサブルーチンを実装します。具体的には、関数、プログラム、または動詞などを作成し、それぞれが昇順でソートされた2つのリストを取得し、それらを昇順でソートされた1つのリストに結合する必要があります。要件: -アルゴリズムは、入力のサイズで漸近的に線形の時間を要する必要があります。O(n ^ 2)ソリューションの提供を停止してください。 リストをソートしたり、リストをマージしたりできるような組み込み関数を使用することはできません。著者の裁量。 コードは、繰り返される要素を処理できる必要があります。 空のリストを心配する必要はありません。 例: merge([1],[0,2,3,4]) [0,1,2,3,4] merge([1,5,10,17,19],[2,5,9,11,13,20]) [1, 2, 5, 5, 9, 10, 11, 13, 17, 19, 20] これはcode-golfなので、最短のコードが勝つかもしれません!

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: AND 1 0なります0 XOR 0 1なり1 OR 1 1ます1 NAND 1 1なります0 これはcodegolfなので、最短のコードが優先されます。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

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