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

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

23
アドベントチャレンジ5:プレゼントを輸送ドックに移す!
<<前 へ次へ>> PPCGコミュニティのおかげで、サンタはすべてのプレゼントを再製造することができ、組み立てラインの後、プレゼントは輸送ドックに移動する準備ができました! 輸送用そりは特定のサイズに特化しているため、サンタの各輸送ドックは現在のサイズの範囲しか保持しません(軽量で無駄になり、重くなり、そりが負荷を処理できなくなります)。したがって、彼はあなたが彼が彼のプレゼントを取り、それらを正しい輸送ドックに分類するのを助けるあなたを必要としています。 チャレンジ リストと輸送ドックの範囲を考慮して、プレゼントを正しい順序で安定して整理します。 たとえば、これを見てみましょう。プレゼントは[5, 3, 8, 6, 2, 7]で、ドックの範囲は[[1, 5] and [6, 10]]です。 プレゼント5、3と2最初のドックやプレゼントに入り8、6、及び7第二ドックに入ります。これはと表示できます[[5, 3, 2], [8, 6, 7]]。このリストは入力よりも並べ替えstablyられますが、各ドック内では、プレゼントの順序は入力の順序と同じでなければなりません(それ以外の場合は、リスト全体を並べ替えることができます)。 この場合の最終的な出力は[5, 3, 2, 8, 6, 7](フラットリストとして)になります。 フォーマット仕様 あなたが(例えば、上記の場合の範囲はとして与えることができる任意の合理的なフォーマットの整数のフラットリストと範囲のリストとして入力を与えられる[[1, 5], [6, 10]]、[1, 5, 6, 10]または[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])。出力は、適切な形式の整数のフラットリストである必要があります。 入力には重複した値を含めることができます。この場合、それらのすべてのインスタンスを返す必要があります。現在のすべてのサイズは正確に1つのサイズ範囲にあり、範囲が重複することはないと想定できます。現在のすべてのサイズがカバーされている限り、範囲にギャップが存在する可能性があります。 ルール 標準抜け穴が適用されます これはcode-golfなので、バイト単位の最短の回答が優先されます 回答は受け付けられません …

2
1000の最も一般的な単語
この質問は、「物事の説明者」が楽しく読めるから書いてありました。 文字、数字、およびこのようなもののセットを読み取り/受け取り、すべての単語がこのセットの一部である場合に"#%|?戻る「コンピュータに物事を実行させるもの」を記述します。True / 1 すべての単語がそのセットの一部ではない場合、そのセットの一部ではなかった単語を返します。 このウェブサイトは、すべての場合において正しいと見なすことができます。ルールはそのサイトの仕様に従うように書かれています。 例: Truthy: 最初の水平線より上のテキスト全体が入力として貼り付けられている場合、コードは真の値を返す必要があります。 次の行は真の値を返します(入力はで区切られています###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 偽り: 次の例では、入力と出力はで区切られてい***ます。異なるテストケースはで区切られ###ます。 This code doesn't return …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

1
隣接する数値を交換することにより、数値で満たされたスクランブルされた2次元配列を並べ替える[クローズ]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 サイズn×nの2次元配列は、番号1から始まるn * nの数値で埋められます。これらの数値は、行ごとに昇順でソートされます。行の最初の数は、前の行の最後の数より大きくなければなりません(すべて(1)の最小数は[0,0]になります)。これは15パズルに似ています。 これは、たとえば、サイズn = 3のソートされた配列です。 1 2 3 4 5 6 7 8 9 入力 入力はスクランブル配列です。n = 10までの任意のサイズにすることができます。n= 3の例: 4 2 3 1 8 5 7 9 6 出力 配列のソートに必要なスワップのリストを出力します。スワップは、以下のように定義される:二つの隣接する数字は水平方向または垂直方向、位置を入れ替えます。対角スワッピングは許可されていません。 上記の例の出力例: スワップ4と1 スワップ8と5 スワップ8と6 スワップ9と8 必要なスワップが少ないほど良いです。計算時間は実現可能でなければなりません。 次に、n = 10の別の入力例を示します。 41 88 35 34 76 44 66 …

1
財布を埋めるのを手伝ってください!
少し前に、8枚のカード(両面に4枚)を入れることができる新しい財布を購入しました。しかし、私はそれよりもはるかに多くのカードを持っているようであり、どのカードを携帯するかを選択する必要があります。一部のカードは他のカードよりも頻繁に使用しますが、持ち歩きたいカードは、必ずしも最も頻繁に使用するカードではありません。 チャレンジ カードのスタックが与えられたら、私の好みと制限に対して可能な限り最良の方法で私の財布のレイアウトを返します。レイアウトは次のようになります。 __ __ (row 1) __ __ (row 2) __ __ (row 3) __ __ (row 4) 現在私は以下のカードを持っています-スタックは常にこれらからの選択で構成されます: 1枚のIDカード(ID) 1運転免許証(DL) 2クレジットカード(CC) 5デビットカード(DC) 公共交通機関カード(PC)1枚 ジムアクセスカード(GC)1枚 ランダムストアおよび倉庫からの9枚の会員証(MC) 私はいくつかの好みと制限があります: 優先度でソートされたカード:ID、DL、CC、DC、PC、GC、MC 使用頻度でソートされたカード:CC、DC、PC、GC、MC、ID、DL 安全上の理由から、私の財布でデビットカードとクレジットカードの総数が(私の財布になります他のすべてのカードの合計よりも最大で1より可能N DC + N CC ≤ N ID + N DL + N PCを + N GC + N MC …

5
ほとんど辞書式リストの比較
入力 2つのリストAとB非負の整数。 出力 いずれか1、0または-1、かどうかに応じAに等しい、より大きい、またはより小さいBに対してねじれた辞書式順序付けの下に定義した通りです。必要に応じて1、0および-1を他の3つの定数値に置き換えることができます。 ツイスト辞書編集順序は、リストを要素ごとに比較し、最初の異なるインデックスでそれらの順序を決定するという点で、通常の辞書編集順序に似ています。ただし、ツイストバージョンでは、インデックスごとに非負の整数に異なる順序を使用します。すなわち、すべてのインデックスでi(インデキシングから始まる1)、第一のオーダーi(より負でない整数0にはi-1)逆転され、それらは、他のすべての数字の上に移動されます。さらに、一方のリストが他方よりも短いことを示す「欠落している要素」は、すぐ下に移動されますi-1。視覚的には、インデックスでの順序iは i < i+1 < i+2 < i+3 < ... < [missing element] < i-1 < i-2 < i-3 < ... < 2 < 1 < 0 最初のもの...は無限に多くの数を表すことに注意してください。つまり、次のリストは、ねじれた辞書式順序の昇順です。 [3,2,3,4] [3,2,3,5] [3,2,3,10] [3,2,3,1341] [3,2,3] [3,2,3,3] [3,2,3,2] [3,2,3,1] [3,2,3,0] ルール 完全なプログラムまたは関数を与えることができます。最も低いバイト数が優先され、標準の抜け穴は許可されません。 テストケース Output 1: [0] [] [] [1] …

9
負、ゼロ、正の整数の配列を1回の反復で順序付け
負の数、正の数、ゼロを含む整数の配列を取ります。1回の繰り返しでグループ化し、すべての負の数値が最初に来て、その後にすべてのゼロが続き、その後にすべての正の数が続くようにします。 例: Input: 5, 3, 0, -6, 2, 0, 5 Output: -6, 0, 0, 3, 2, 5, 5 数値は完全に並べ替える必要はないことに注意してください。符号で並べ替えるだけです。 したがって、最終的な配列は次のようになります。 -, -, ..., -, -, 0, 0, ..., 0, 0, +, +, ..., +, + ルール 入力配列と一定量の追加メモリのみを使用できます(つまり、これ以上配列を作成できません) 使用できるループは1つだけで、配列の長さと同じ回数だけ実行できます。あらゆる種類のループを隠す組み込み関数を使用することはできません。これには、組み込みのソート関数が含まれます。 結果は、私が説明した形式である必要があります 勝者は、最初の配列を正しい形式(上記のように)に変更する最短のコード(バイト単位)を送信する人です。

7
カスタムアルファベットで並べ替え
課題は、単語のリストを並べ替えるプログラムを作成することです。単語がランダムに与えられたアルファベットの順序である必要があるだけです。 プログラムは、コンマ区切りの文字列と新しいアルファベットを受け入れます。 プログラムは、すべての単語を同じ方法で新しいソート順に出力します。 例: 入力: home,oval,cat,egg,network,green bcdfghijklmnpqrstvwxzaeiouy 出力: cat,green,home,network,egg,oval これはコードゴルフですので、勝者は最短のプログラムを持つ人です。 これは私の最初の課題ですので、質問/チャレンジの改善はありがたいです。

1
暴君ソートの実装[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 2年前休業。 TL; DR 連続する要素の各ペアの記録(左から右)/長さ。それらが0または負の場合は、記録しないでください。 これが完了したら、これらのアクションを実行します。商を更新しない: (0、.3)の右インクリメントと左デクリメント > =。3の配列から削除 > .5の両方の要素を印刷する 残りの配列を出力します。実行された残りのセパレーターを用意します。 さて、挑戦へ… これは、GLORIOUS LINEAR TIMEが最悪の場合のソートアルゴリズムであり、そのINFINITE WISDOMに敢えて反対する人は、彼らのHEINOUS CRIME OF HIGH TREASONに対して即座に実行されます。 FEARLESSリーダーはであなたを任務としている立派MISSION整数の配列を取り込み、以下のソートアルゴリズムを使用して、それをソートするプログラムや関数を書きます: で各要素を啓発あなたの配列を反復処理、GLORIOUS彼らの存在FEARLESSリーダー。 あなたの持っている秘密警察の彼らはであることを確認するために、2つの連続する要素のすべてのペアのチェックをTHEIR NATIONを適切にLOYAL。正しく並べられていない場合は、配列の長さで割った数値の差を記録します。これは彼らの反対の商です。 GLORIOUS TOURの最後に、リストを確認し、次のようにすべての反逆者に対してRAIN FEARLESS LEADER'S DIVINE PUNISHMENTを実行します。 .3未満の反対の商の場合、彼らは単に無限大の恐怖の指導者の思い出を洗脳する必要があります。左の要素を減らし、右の要素を増やします。異議のある商を変更しないでください。 反対の商である.3-.5(両端を含む)の場合、それらはTRAITORSであり、PRISON CAMPSに送信する必要があります。それらをアレイから削除します。 .5より大きい反対の商の場合、それらはODIOUS REBEL SCUMです。彼らは、彼らが同盟していたかもしれない他のいかなる反逆の強欲の例として、公に実行されるべきです。それらを配列から削除し、全国のニュースソースであるThe STDOUT Timesに送信します。 これで、配列が完全かつ完全にソートされました。STDOUT Timesに送信して、GLOIOUS VICTORYを歌ってもらいます。 MANDATORY VIEWINGすぎている人にFOOLISH理解しINFINITE GLORYこのアルゴリズムのを、次の配列をソートするために使用されます。 [1,8,6,0,4,9,3,5,7,2] 1と8は正しく注文されています。 8と6は正しい順序ではないため、両方に.2の反対の商が記録されます。 6と0は反対者の別のペアです。この反対の商は.6です。 …

1
拡張可能な列車交換問題
拡張列車交換問題 パート1:通常の列車交換問題 1996年のCCC(カナダコンピューティングコンペティション)では、最初のステージ2の問題は列車交換問題でした。ここのリンクにアクセスできます。基本的に、番号付きの列車の束があり、それらを順番に取得するために必要な列車の入れ替えの数を調べたい場合、各列車の入れ替え操作では、隣接する2つの列車を入れ替えることができます。車両はどちらの方向にも走ることができるので、入れ替えたときに車両が反対方向に向いていることを誰も気にしません。これはとても簡単です。あなたがする必要があるのは: それをバブルソートするためのステップ数を見つけます。隣接する要素の交換のみを行うことができる場合、これは最も効率的なソートアルゴリズムです。 だから、もっと難しいものを作りました。 パート2:この課題の仕組み 基本的に、隣接する列車だけでなく、交換することができます。回転プラットフォームが長いと、複数の列車の位置を入れ替えることができます。たとえば、長さが4の回転プラットフォームでは、内側と外側のペアを同時に交換できるため、に1 2 3 4なり4 3 2 1ます。さまざまな回転プラットフォームサイズの例を以下に示します。 Length 2: 1 2 3 4 5 --- 1 3 2 4 5 Length 3: 1 2 3 4 5 ----- 1 4 3 2 5 Length 4: 1 2 3 4 5 ------- 4 3 2 …

4
不明な値のリストを比較の量が最も少ないもので並べ替えます
この最適化の課題では、stdoutでユーザーにstdinで比較結果を入力するように要求することで要素を比較するだけで単一の配列をソートするプログラムを記述します。 以下のプロトコルは行ベースなので、標準出力に出力したり、標準入力から読み込んだりするたびに、改行が続くと想定されます。以下の質問全体を通して、ユーザー(読み取り:スコアリングプログラム)には、0から始まるインデックス付き配列と呼ばれる配列にソートしたい配列があると想定されていますarray。技術的な理由から、私はすべての印刷後にスタウトにフラッシュすることをお勧めします。 最初のステップとして、プログラムはnstdinから配列サイズを読み取る必要があります。 その後、a < b何度でも、2つの整数を使用してstdoutに出力できます0 <= a, b < n。その後、ユーザーが入力されます1場合は標準入力でarray[a] < array[b]、そして0それ以外の場合は。 最後に、プログラムが配列の順序を正しく推定したと確信すると、プログラムはa ...stdoutに出力する必要があります...。したがって、プログラムが出力a 3 0 1 4 2する場合は、プログラムが推定したことを意味します array[3] <= array[0] <= array[1] <= array[4] <= array[2] あなたのプログラムはの内容を決して知らず、決して知らないことに注意してくださいarray。 <stdinで配列をソートするように要求することしかできません。これらの同値により、他の比較演算を取得できます。 a > b b < a a <= b !(b < a) a >= b !(a < b) a …

3
λ計算で数値のリストをソートする
純粋な型付けされていないラムダ計算に、教会でエンコードされた数値のリストに適用されると、昇順または降順で並べ替えられた数値を返す用語を記述します。教会のリストと番号は、通常のADTの折りたたみとしてエンコードする必要があります。 -- Usual ADTs for Lists and Nats (in Haskell, for example) data List a = Cons a (List a) | Nil data Nat a = Succ (Nat a) | Zero -- Their respective folds are the λ-calculus representation used on this challenge church_list = (λ c n . (c …

2
Bozosの並べ替え
前書き この課題は、3つの(悪い)ソートアルゴリズムについてです:Bogosort、および私が思いついた2つの他のバリアント(ただし、ある時点で他の人によって考えられていた):(BogoswapAKA Bozosort)およびBogosmart。 Bogosort完全にランダムに配列をシャッフルし、それがソートされた(昇順)になったかどうかをチェックすることで機能します。そうでない場合は、繰り返します。 Bogoswap2つの要素をランダムに選択し、それらを交換することで機能します。ソートされるまで(昇順で)繰り返します。 Bogosmart2つの要素をランダムに選択し、配列をソート(昇順)に近づける場合にのみそれらを交換することで機能します。インデックスが低い要素がもともと高い要素よりも大きい場合。ソートされるまで繰り返します。 チャレンジ この課題では、これら3つのソートアルゴリズムのそれぞれの効率(または欠如)を探ります。ゴルフされたコードは 1から8までの整数の8要素配列のシャッフルを生成します(これをどのように行うかを確認するために読み続けてください)。 この配列に各アルゴリズムを適用します。そして 元の配列を表示し、その後に、各アルゴリズムに必要な計算数を1つのスペース(末尾スペースok)で区切って、の形式で表示します<ARRAY> <BOGOSORT> <BOGOSWAP> <BOGOSMART>。 プログラムは10個のテストケースを生成します。最初に10個すべてを生成することも、一度に1個ずつ生成することもできます。以下の出力例。 詳細: の場合Bogosort、配列がシャッフルされた回数を記録する必要があります。 についてはBogoswap、行われたスワップの数を記録する必要があります。 についてはBogosmart、行われたスワップの数を記録する必要があります。 出力例: 87654321 1000000 100 1 37485612 9050000 9000 10 12345678 0 0 0 28746351 4344 5009 5 18437256 10000 523 25 15438762 10000 223 34 18763524 58924 23524 5 34652817 9283 …

12
一連の数値を並べ替える
質問 m[]ランダムな順序で1から9までの数字のみが含まれ、2つの数字が同じではない9つの数字のセットが与えられた場合、任意の言語でプログラムを作成し、数字を数字順に並べ替えます(1、2、3、など)互いに隣り合う2つの番号を切り替えるだけ(つまり、1、3、2→1、2、3)。 ルール セットを変更するには、隣り合う2つの番号を切り替える必要があります 終了番号(1〜9の順)は、 m[] あなたは好きな言語を使うことができます バイト数が最も少ない答えが勝つ 編集: あなたのコードではないではない出力を印刷する必要がありますが、再編成された配列は、である必要がありますm[]。

5
合計注文の存在を決定する
このタスクでは、次のような正の整数の配列を検討します。 3 18 321 17 4 4 51 1 293 17 入力は、両方の任意の、おそらく異なる、正の長さのそのような配列のペアで構成されます。全順序≤かどうかを判断X ⊂ N × N、Nは正の整数の集合であるが、両方の入力配列が≤に対して順になるように存在するX。(A≤という通知X B∧B≤ X A)↔A = Bが成立しなければならないが、その2つの数は≤下に等しいと見なされているX場合、それらは同じ数である場合にのみ。 たとえば、入力が配列のペアである場合 7 2 1 1 4 12 3 9 8 7 2 5 1 あなたは全順序が≤どうかを把握することになっているXは、このような存在します 7≤ X 2≤ X 1≤ X 1≤ X 4≤ X 12≤ X 3 そして …

6
画像のすべてのピクセルを出現回数でソートする
入力 選択したラスターグラフィック形式のファイルの名前。選択したフォーマットは、チャネルごとに少なくとも8ビットと3チャネルをサポートする必要があります。 出力 最初のファイルと同じサイズで同じサイズの同じ形式のファイル。ただし、ピクセルは発生回数の降順でグループ化され、左から右、上から下にソートされます。 ピクセルの特定の色が同じ回数表示される場合、それらの順序は指定されていません。 入力ファイルを上書きしないでください(出力には別のファイル名を使用してください)。 すべてのサードパーティの画像処理ライブラリが許可されています。 例 次のような出力が得られます。 特に、画像の下部では、同じ周波数の色の間でタイが異なるため、いくつかの変動が発生する可能性があります。

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