タグ付けされた質問 「array-manipulation」

配列の使用と操作を通じて特定の問題を解決するための競争。

30
配列内で最も長い単語を見つける
あなたの課題は、文字列の配列を取得し、配列内の最も長い文字列を出力することです。だから ["tiny", "small", "bigger", "biggest"] 出力はになりますbiggest。 配列の2つの要素の長さが同じ場合、配列の最初に表示される要素を選択する必要があります。つまり、配列が次のようになっている場合です。 ["one", "two", "no"] 出力はoneですが、配列が次のようになっている場合: ["two", "one", "no"] 出力はtwoです。 これはcode-golfであるため、バイト単位の最短コードが優先されます。

20
循環移動合計
Stack Overflowの質問に触発されました。 空ではない整数の配列xと正の整数nを指定すると、配列に沿った長さの各スライドブロックの合計を計算し、次のように左の欠損値を右からの値で循環充填します。nx 最初のブロックには、循環シフトエントリxが先行するの最初のエントリが含まれn-1ます。 2番目のブロックには、の最初と2番目のエントリがありx、その前にn-2循環シフトエントリがあります。等々。 出力配列のyサイズはと同じxです。nの長さを超えることは可能xで、その後、の値xは循環的に数回再利用されます。 例 例1(値は1回だけ再利用されます) x = [2, 4, -3, 0, -4] n = 3 出力として与える y = [-2, 2, 3, 1, -7] どこで -2ブロックの合計です[0, -4, 2](最初の2つの値は循環シフトから取得されます) 2の合計です[-4, 2, 4](最初の値は循環シフトから取得されます) 3の合計です[2, 4, -3](循環シフトはもう必要ありません) 1 の合計です [4, -3, 0] -7はの合計です[-3, 0, -4]。 例2(値は数回再利用されます) x = [1, 2] n …

13
最小合計で合同リストを生成する
2つのリストAとBは、それらの長さが同じで、比較する要素が等しい場合にA一致しBます。 言い換えると、任意の2つの有効なインデックスxとy: の場合A[x] = A[y]、その後B[x] = B[y]。 の場合A[x] != A[y]、その後B[x] != B[y]。 たとえば、リスト[1, 2, 1, 4, 5]と[0, 1, 0, 2, 3]は一致しています。 タスク 非負の整数の空でないリストが与えられた場合A、の整数の和を最小化しながら、と一致するような非負の整数の新しいリストを返します。BAB 潜在的に多くの有効な出力があります。たとえば、リスト[12, 700, 3]では、の順列はすべて[0, 1, 2]有効な出力と見なされます。 テストケース Format: input -> one possible valid output [1 2 1 4 5] -> [0 1 0 2 3] (this is the …

27
配列に波を適用する
今日のタスクは、数値の配列にウェーブを適用することです。波は次のようになります。[1, 0, -1, 0, 1, 0, -1, 0, 1...]特定の配列に適用することは、最初の要素、2番目の要素などを加算することを意味します。 より正確に: プログラムまたは関数は整数の配列を受け取ります。元の配列1の1番目、5番目、9番目などの要素に-1追加され、元の配列の3番目、7番目、11番目などの要素に追加され、残りの要素を持つ等しいサイズの配列を出力または返す必要があります。そのままにしておく必要があります。 入力配列には、少なくとも1つの要素があることが保証されています。 テストケース: Input | Output [0] | [1] [-1] | [0] [-4, 3, 0, 1, 7, 9, 8, -2, 11, -88] | [-3, 3, -1, 1, 8, 9, 7, -2, 12, -88] [0, 0, 0, 0, 0] | [1 …

30
リストを半分に折ります
整数のリストを折りたたみます。これを行う手順は次のとおりです。リストの長さが偶数の場合、新しいリストのn番目の項目が古いリストのn番目の項目とn番目からn番目までの合計の長さの半分のリストを作成します古いリストの最後のアイテム。たとえば、リストがある場合 [1 2 3 4 5 6 7 8] 折ります [8 7 6 5] +[1 2 3 4] __________ [9 9 9 9] リストの長さが奇数の場合、折りたたむには、まず中間のアイテムを削除し、偶数のように折り、結果に中間のアイテムを追加します。 たとえば、リストがある場合 [1 2 3 4 5 6 7] 折ります [7 6 5] +[1 2 3] __________ [8 8 8] ++ [4] __________ [8 8 8 4] …

7
binarrayを見つけてください!
binarrayは、次のプロパティを満たす配列として定義します。 空ではない 最初の値は 1 最後の値は 1 他のすべての値は、0または1 たとえば、配列[ 1, 1, 0, 1 ]は有効なbinarrayです。 タスク 非空の配列の指定されたA非負整数の整数正N、ジョブを見つけることであるbinarray Bの長さNを生成することを可能にするAをのコピー制限のない数合計することによってBを、無制限の数だけシフトポジション。 例 A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ] N = 4 この入力では、binarray B = [ 1, 1, 0, 1 ]が有効な答えになります。 [ 1, …

12
交互のフィボナッチ数列
定義 交互電力フィボナッチ数列は次のように形成されます。 空のシーケンスから始めて、nを1に設定します。 f n(n 番目の非負のフィボナッチ数)を繰り返し計算します。 0は最初、1は2番目、3番目、2は4番目です。他のすべては、シーケンス内の前の2つの数値を合計することによって取得されるため、3 = 1 + 2は5番目、5 = 2 + 3は6番目などです nが奇数の場合、f nの符号を変更します。 追加2 N-1のコピーF N配列。 nをインクリメントし、手順2に戻ります。 これらは、APFシーケンスの最初の100の用語です。 0 1 1 -1 -1 -1 -1 2 2 2 2 2 2 2 2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 …

12
配列の統一
前書き 同じ長さの2つの配列、たとえばA = [0,1,0,2]とを考えますB = [-1,1,2,2]。それらのコンテンツがアイテムごとに何らかの意味で同等であることを知っていると仮定します: 0に相当し-1、 1に相当し1、 0と同等2であり、 2はと同等2です。 等価性は推移的です:-1および0は等価であり0、および2は等価であるため-1、および2は等価です。and の統合はA、(または)のB各項目がそれに相当する最大数に置き換えられた配列です。この場合、統合はになります。AB[2,1,2,2] タスク 等しい長さの2つの空でない整数配列を取り、それらの統一を出力するプログラムまたは関数を作成します。戻る代わりに、入力の1つを変更することもできます。最も低いバイトカウントが優先されます。 テストケース [0] [0] -> [0] [1] [2] -> [2] [0,-1] [-1,-1] -> [0,0] [0,1,0] [2,1,0] -> [2,1,2] [1,2,3] [0,0,1] -> [3,3,3] [0,1,0,2] [-1,1,2,2] -> [2,1,2,2] [1,0,1,-4] [-3,-1,-2,2] -> [1,0,1,2] [1,2,3,-2] [1,0,-3,-2] -> [1,2,3,-2] [-3,-2,-1,0,1] [-1,-1,-1,-1,-1] -> …

9
3 x 3の頑丈な正方形をすべて印刷する
(に似頑丈角魔方陣は)Nの整数1の配置である2毎に2×2のサブグリッドが同じ和を有するようにN Nによってグリッドに。 たとえば、N = 3の場合、1つの頑丈な正方形は 1 5 3 9 8 7 4 2 6 なぜなら、2 x 2の4つのサブグリッド 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 すべて同じ額になります23: 23 = 1 + 5 + 9 + 8 = 5 + 3 + 8 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

30
非ユニーク要素
符号付き整数の配列の一意でない要素を見つけるプログラムを作成します。結果の配列は任意の順序にすることができます。 あなたの答えは、入力が変数(dたとえば)に保存されていると仮定し、正しい結果に評価されるスニペットかもしれません。 テストケース 各テストケースは、形式の1行ですinput => output。出力の他の順列も有効であることに注意してください。 [] => [] [-1, 0, 1] => [] [1, 1] => [1] [3, 0, 0, 1, 1, 0, 5, 3] => [3, 0, 1] [-34, 0, 1, -34, 4, 8, 4] => [-34, 4] 要素の順序は関係ありません。 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。

30
リストからオックスフォードコンマを使用して単一の文字列を生成する
文字列のリストを取得し、リストから構築された単一の適切に句読点付きの文字列を返し、各要素を引用する、いくつかの巧妙な(簡潔で慣用的な)アプローチは何ですか? 一方、これは私のために来たのGroovyを試して、私あまりにもリテラルが、説明の解決策があるため、 def temp = things.collect({"\'${it}\'"}) switch (things.size()) { case 1: result = temp[0] break case 2: result = temp.join(" and ") break default: result = temp.take(temp.size()-1).join(", ") + ", and " + temp[-1] break } すなわち、['1']得られるはず'1'、['1','2']得られるはず'1 and 2'、と[私は?そこに何をしたか見る] ['1','2','3']得なければなりません'1, 2, and 3'。 Groovyには良い答えがありますが、他の言語で何ができるかを知りたいです。 これらの言語の機能とイディオムを利用するさまざまな言語のコンパクトな巧妙なアプローチは何ですか?

21
このリストはバランスを取ることができますか?
非負整数のリストのバランスが取れているかどうかを確認するには、ボードにそれぞれのウェイトを置き、ピボットの左右の合計相対ウェイトが同じになるように、ピボットのボードのバランスをとることを想像できます。相対的な重量は、重量にピボットまでの距離を掛けることによって与えられます(レバーの法則を参照)。 (ソース:ウィキペディア) この画像はリストに対応しています[100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]。このリストのバランスが取れているの5は、ピボットの距離が20 100、距離が1およびであるため5*20 = 100 = 100*1です。 例 3 1 5 7 ######### ^ この場合にはピボットが直接下にあり5、3距離2を有し、1かつ7両側が左右のピボット和のアップするよう距離1を有する7(3*2 + 1*1左の及び7*1右)、したがって、リストが[3, 1, 5, 7]バランスされています。 ただし、ピボットはリスト要素の1つの下に配置する必要はありませんが、2つのリスト要素の間に配置することもできます。 6 3 1 ####### ^ この場合、距離は次のようになり0.5, 1.5, …

20
隣接していないアイテムの最大合計サブシーケンス
前書き: これら2つのSO質問(同じクラスからの疑いのない質問)に触発された:隣接要素なしの最大合計のサブ配列の要素javaおよび配列の非隣接要素の最大合計を印刷します。 チャレンジ: 整数のリストが与えられた場合、最高の合計を持つ非隣接要素で構成されるサブシーケンスを出力します。ここにいくつかの例があります: [1,2,3,-1,-3,2,5]は、0から始まるインデックスで[1,3,5](合計で9)になります[0,2,6]。 [4,5,4,3]いずれかをもたらすであろう[4,4](の和と80ベースのインデックスで)[0,2]又は[5,3](もの和と80ベースのインデックスで)[1,3]。 [5,5,10,100,10,5]は、0ベースのインデックスまたはのいずれかで[5,100,5](合計で110)になります。[0,3,5][1,3,5] 上記のこれらの例で最も重要なのは、要素を含むインデックスが少なくとも2つ離れていることです。この例を[5,5,10,100,10,5]さらに詳しく見ると、非隣接アイテムを含む次の潜在的なサブシーケンスがあります。インデックスがその下にあります。以下の合計で: [[5],[10],[100],[10],[5],[5],[100,5],[10,5],[10,10],[5,5],[5,10],[5,100],[5,5],[5,10],[5,100],[5,10],[5,100,5],[5,100,5],[5,10,5],[5,10,10]] // non-adjacent subsequences [[5],[ 4],[ 3],[ 2],[1],[0],[ 3,5],[ 2,5],[ 2, 4],[1,5],[1, 4],[1, 3],[0,5],[0, 4],[0, 3],[0, 2],[1, 3,5],[0, 3,5],[0, 2,5],[0, 2, 4]] // at these 0-based indices [ 5, 10, 100, 10, 5, 5, 105, 15, 20, 10, 15, 105, 10, 15, …

15
多次元反転
非負整数のN次元の直交(非不規則)配列と、どの次元を反転させるかの指示が与えられると、配列を返しますが、それらの次元に沿って反転します。指示は、長さNのブールリスト、または0または1からインデックス付けされた最初のN次元のサブセットのリストとして指定できます。 入力形式を明記してください。コードの説明は大歓迎です。 ウォークスルーの例 2層3行4列3Dアレイが与えられます [[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9,10,11,12]], [[13,14,15,16], [17,18,19,20], [21,22,23,24]]] そして [true,false,true](ブールリスト) [0,2](0インデックス付きリスト) [1,3](1インデックス付きリスト) 最初と最後の次元の順序を逆にする必要があります。つまり、各レイヤーの行ではなく、レイヤーと行の要素(列)です。最初に(これを行う実際の順序は重要ではありません)、レイヤーの順序を逆にします。 [[[13,14,15,16], [17,18,19,20], [21,22,23,24]], [[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9,10,11,12]]] 次に、各行の要素の順序を逆にします。 [[[16,15,14,13], [20,19,18,17], [24,23,22,21]], [[ 4, 3, 2, 1], [ 8, …

10
最短の一意に識別する部分文字列
文字列のリストが与えられたら、各文字列を、空でない部分文字列の1つで置き換えます。これは、リスト内の他の文字列の部分文字列ではなく、できるだけ短くします。 例 リストを考えると["hello","hallo","hola"]、"hello"ただで置き換える必要があり"e"、この部分文字列がに含まれていないとして、"hallo"そして"hola"、それはできるだけ短くしています。"hallo"いずれかで置き換えることができる"ha"か、"al"と"hola"のいずれかによって"ho"、"ol"または"la"。 ルール 文字列は空ではなく、同じ大文字と小文字のアルファベットのみを含むと想定できます。 このような部分文字列はリスト内の各文字列に存在すると仮定できます。つまり、リスト内の文字列は他の文字列の部分文字列にはなりません。 入力と出力は任意の合理的な形式にすることができます。 これはcode-golfなので、選択した言語でできるだけ少ないバイトを使用するようにしてください。 テストケース ほとんどの場合、可能な出力は1つだけです。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 関連:最短識別サブストリング -同様のアイデアですが、より複雑なルールと扱いにくい形式です。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

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