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

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

30
課題の配列#1:交互配列
交互配列 交互配列は、2つ(必ずしも異なる)の値が交互にされた任意の長さのリストです。つまり、すべての偶数インデックスのアイテムは等しく、すべての奇数インデックスのアイテムは等しくなります。 あなたの仕事は、正の整数のリストが与えられたときに、truthy交互になっているfalsy場合とそうでない場合に出力/返すプログラムまたは関数を書くことです。 これはcode-golfなので、最短のコード(バイト単位)が勝ちです! エッジケース: [] -> True [1] -> True [1,1] -> True [1,2,1] -> True その他のテストケース: [1,2,1,2] -> True [3,4,3] -> True [10,5,10,5,10] -> True [10,11] -> True [9,9,9,9,9] -> True [5,4,3,5,4,3] -> False [3,2,1,2,1,2] -> False [1,2,1,2,1,1,2] -> False [2,2,3,3] -> False [2,3,3,2] -> False 例 Python …

30
グッドネスギザゴルフ!
「ギザ番号」は、口語ではティミー番号とも呼ばれ、数字がピラミッドを表す任意の番号です(A134810)。たとえば、「12321」は次のように視覚化できるため、ギザ番号です。 3 2 2 1 1 ただし、ピラミッドの上部に2桁があるため、「123321」のようなものはギザ番号ではありません 33 2 2 1 1 つまり、次のすべての条件が満たされている場合、数字はギザの数字です。 桁数が奇数で、中央の桁が最大です それは回文的(同じ読み取り前方または後方)であり、 数字の前半は厳密に1ずつ増加しています。(それは回文的でなければならないので、これは数字の後半が厳密に1つ減少しなければならないことを意味します) 入力として正の整数を取る完全なプログラムまたは関数を作成し、それがギザ数であるかどうかを判断する必要があります。入力は文字列または数値として取得できます。それは場合であるギザ番号、出力truthy値。それ以外の場合、偽の値。 合計45のギザ数があるので、これらの入力のいずれかが真実の値になるはずです。 1 2 3 4 5 6 7 8 9 121 232 343 454 565 676 787 898 12321 23432 34543 45654 56765 67876 78987 1234321 2345432 3456543 4567654 5678765 6789876 123454321 234565432 …

22
N番目ごとのNを削除
タスク この課題では、入力は正の整数の空でないリストであり、言語のネイティブ形式で与えられます。出力は、一部の要素が削除された同じ形式の同じリストです。のすべての出現1、2 2番目の出現3、3番目の出現などをすべて削除します。一般に、すべての正の整数Nについて、リストからN番目の出現をすべて削除します。NN 例 入力リストを検討する [3,2,6,1,1,6,2,3,2,6,6,6,6,1,6,6,3,3,7,2] 最初に、次のすべての出現を削除します1。 [3,2,6, 6,2,3,2,6,6,6,6, 6,6,3,3,7,2] その後、次のすべての2番目の発生2: [3,2,6, 6, 3,2,6,6,6,6, 6,6,3,3,7 ] その後、3回ごとに3: [3,2,6, 6, 3,2,6,6,6,6, 6,6, 3,7 ] 番号4と5は入力に含まれないため、スキップできます。次に、の6番目ごとの出現を削除します6。 [3,2,6, 6, 3,2,6,6,6, 6,6, 3,7 ] の発生は1つだけな7ので、同様にスキップできます。したがって、正しい出力は [3,2,6,6,3,2,6,6,6,6,6,3,7] ルールとスコアリング 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース [1] -> [] [2] -> [2] [1,1,1] -> [] [2,2,2] -> [2,2] [1,1,2,2,2,3,3,3,3] -> [2,2,3,3,3] …

30
多肢選択式テストの不正行為
前書き 勉強しながら、複数選択テストをごまかすためのいくつかの方法を考え出そうとしました。基本的には、多肢選択式回答の圧縮バージョンです。メソッドは次のようになります。 テストへの回答: BCAABABA これらは3つの異なる配列に変換でき、現在の文字が答えであればtrueまたはfalseを示します。 B C A A B A B A A: [0, 0, 1, 1, 0, 1, 0, 1] B: [1, 0, 0, 0, 1, 0, 1, 0] C: [0, 1, 0, 0, 0, 0, 0, 0] これらの数値をバイナリとして解釈すると、これが大幅に圧縮されます。しかし、これは実際にはもう少し圧縮できます。AとBの位置がわかっている場合、Cの位置は必要ありません。これは、ビット単位のNOT演算子で実行できます。 A: [0, 0, 1, 1, 0, 1, 0, 1] …

30
リスト内のゼロを隠します
このSO質問に触発された 入力として、整数の空でないリストが与えられます。最初の値は非ゼロであることが保証されています。出力を作成するには、リストの先頭から歩いて、ゼロ以外の各値を途中まで出力します。ゼロが発生した場合は、代わりに、最後に出力に追加した値を繰り返します。 整数の順序付けされたシーケンスである限り、プログラムまたは関数を作成し、追加情報をエンコードしない便利な形式を入出力に使用させることができます。プログラムから出力する場合、末尾の改行を印刷できます。この末尾の改行を除いて、出力は送信のための許容可能な入力である必要があります。 バイト単位の最短コードが優先されます。 テストケース [1, 0, 2, 0, 7, 7, 7, 0, 5, 0, 0, 0, 9] -> [1, 1, 2, 2, 7, 7, 7, 7, 5, 5, 5, 5, 9] [1, 0, 0, 0, 0, 0] -> [1, 1, 1, 1, 1, 1] [-1, 0, 5, 0, 0, …

30
物理的な九九を印刷する
長方形はこの素晴らしい特性を持っています長方形は正確に文字で構成されています!n × mn×mn \times mn × mn×mn \times m A ..より興味深い特性は、乗法テーブルで長方形をきれいに配置できることです-たとえば、テーブル:3 × 33×33 \times 3 # ## ### # ## ### # ## ### # ## ### # ## ### # ## ### あなたの挑戦は、数()を与えられて、フォーマットされた乗算表を出力することです。nnnn > 1n>1 n > 1n × nn×nn \times n ルール 上または下の入力を使用できますnnn デフォルトのI / Oルールが適用されます ブロックを表すために任意の非空白文字を選択できます。他のすべての文字(改行は特別ですが)は空白と見なされます。選択した文字は入力ごとに異なる場合がありますが、入力全体で同じである必要があります テーブルが整列し、必要な出力の一部ではない選択された文字の出現がない限り、結果に不要な文字が含まれることがあります …

30
2D配列の周囲のゼロを削除する
これは、この質問の 2次元バージョンです。 負でない整数のみを含む空でない2次元の配列/行列が与えられた場合: ⎡⎣⎢⎢⎢⎢⎢⎢0000000000000100101000110⎤⎦⎥⎥⎥⎥⎥⎥[0000000010000010011100000] \begin{bmatrix} {\color{Red}0} & {\color{Red}0} & {\color{Red}0} & {\color{Red}0} & {\color{Red}0} \\ {\color{Red}0} & {\color{Red}0} & 0 & 1 & 0 \\ {\color{Red}0} & {\color{Red}0} & 0 & 0 & 1 \\ {\color{Red}0} & {\color{Red}0} & 1 & 1 & 1 \\ {\color{Red}0} & {\color{Red}0} & {\color{Red}0} …

30
ソウルメイトを探して
整数の空でない有限リストが与えられた場合、正確に2つの等しいエントリがあり、他のすべてのエントリが明確な場合は真実の値を出力し、そうでない場合は偽の値を出力します。 例 truthy: [1,1] [1,2,1] [1,6,3,4,4,7,9] falsey: [0] [1,1,1] [1,1,1,2] [1,1,2,2] [2,1,2,1,2] [1,2,3,4,5]

30
私は取るに足らない配列ですか?
無意味配列は連続する要素間の絶対差がより全て小さいか等しい正の整数の配列である1。 たとえば、次の配列は重要ではありません。 [1, 2, 3, 4, 3, 4, 5, 5, 5, 4] 対応する(絶対)違いは次のとおりです。 [1, 1, 1, 1, 1, 1, 0, 0, 1] これらはすべて1以下です。 あなたの仕事は、与えられた整数の配列が重要でないかどうかを判断することです。 配列には常に少なくとも2つの要素が含まれると想定できます。 標準の入力および出力ルールが適用されます。任意の妥当な形式で入力(および出力)を取得できます。 デフォルトの抜け穴は禁止されています。 真実/偽の値は明確で一貫している必要があります。 これはcode-golfであるため、バイト単位の最短回答が優先されます。 テストケース 入力->出力 [1、2、3、4、3、4、5、5、5、5、4]-> true [1、2、3、4、5、6、7、8、9、8]-> true [3、3、3、3、3、3、3、3]-> true [3、4、4、4、3、3、3、3、4、4、4]-> true [1、2、3、4]-> true [5、4、3、2]-> true [1、3、5、7、9、7、5、3、1]-> false [1、1、1、2、3、4、5、6、19]-> false [3、4、5、6、7、8、7、5]-> false [1、2、4、10、18、10、100]-> …

30
バンプはありますか?
正の整数のリストが与えられると、2つの近傍よりも大きいか、2つの近傍よりも小さい(「バンプ」)要素があるかどうかを判別します。明確にするために、バンプは隣人が1人しかいないため、リストの最初または最後の項目にはなりません。 プログラムは、バンプのないリストまたはバンプのあるリストにそれぞれ対応する2つの一貫した値のいずれかを出力する必要があります。値が何であるかは重要ではありません。自分で選択することができます。 これはコードゴルフであるため、回答はバイト単位で記録され、バイト数は少ない方が良いでしょう。 テストケース [] -> False [1] -> False [1,2] -> False [1,2,1] -> True [1,2,2] -> False [1,2,3] -> False [1,2,2,1] -> False [1,2,2,3] -> False [1,2,1,2] -> True [1,3,2] -> True [3,1,2] -> True [2,2,2] -> False

30
最初に複製された要素を見つける
1からa.lengthの範囲の数値のみを含む配列aが与えられた場合、2番目のオカレンスが最小のインデックスを持つ最初の重複する数値を見つけます。つまり、重複する番号が複数ある場合、2番目のオカレンスのインデックスが他の番号の2番目のオカレンスよりも小さいインデックスを返します。そのような要素がない場合、プログラム/関数の動作が未定義になる可能性があります。 例: の場合a = [2, 3, 3, 1, 5, 2]、出力は firstDuplicate(a) = 3。 重複は2つあります。番号2と3です。2番目に出現する3は、2番目に出現する2よりもインデックスが小さいため、答えは3です。 の場合a = [2, 4, 3, 5, 1]、出力は firstDuplicate(a) = -1。 これはcode-golfであるため、バイト単位の最短回答が優先されます。 ボーナス:O(n)時間の複雑さとO(1)追加のスペースの複雑さでそれを解決できますか?

21
配列アライメントの追加
前書き 2つの空でない整数配列、たとえばA = [0 3 2 2 8 4]およびB = [7 8 7 2]を考えます。それらに対してアライメントの追加を実行するには、次のようにします。 合計長さlcm(length(A)、length(B))になるように各配列を十分に繰り返します。ここで、lcmは最小公倍数を表します。 A -> [0 3 2 2 8 4][0 3 2 2 8 4] B -> [7 8 7 2][7 8 7 2][7 8 7 2] 繰り返された配列で要素ごとの加算を実行し、いずれかがカットされているすべての位置で結果をカットします。 A -> [0 3 2 2 8 4][0 3 …

22
Natural Pi#0-ロック
ゴール 入力を受け取るプログラム/関数を作成し、整数のランダムなペアが比較的素数であるNかどうかを確認しN、を返しますsqrt(6 * N / #coprime)。 TL; DR これらの課題は、Piを概算するために自然と脳(およびおそらく再利用可能なリソース)のみを必要とするアルゴリズムのシミュレーションです。ゾンビの黙示録中に本当にPiが必要な場合、これらの方法は弾薬を無駄にしません!さらに8つの課題があります。推奨事項を作成するには、サンドボックスの投稿をチェックしてください。 シミュレーション 何をシミュレートしていますか?さて、2つのランダムな整数が比較的素数(すなわち、コプライムまたはgcd == 1)である確率は6/Pi/Piです。それらを数える; gcdが1 かどうかを確認します。繰り返す。これを数回繰り返した後、sqrt(6.0 * total / num_coprimes)に向かう傾向がありPiます。黙示録的な世界で平方根を計算するのが不安になっても心配しないでください!そのためのニュートン法があります。 これをどのようにシミュレートしますか? 入力してください N 次のN時間を実行します。 ランダムな正の整数を均一に生成しi、j と 1 <= i , j <= 10^6 もしgcd(i , j) == 1:result = 1 その他: result = 0 N結果の合計を取り、S 戻る sqrt(6 * N / S) …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

15
空を見上げて!それは超大型アレイです!
Code Reviewでライバルの友人から寄せられたこの質問に触発されました。 定義 スーパーアレイは、アレイ内の各新しい要素は、以前のすべての要素の合計よりも大きい配列です。{2, 3, 6, 13}スーパーアレイです 3 > 2 6 > 3 + 2 (5) 13 > 6 + 3 + 2 (11) {2, 3, 5, 11}なぜならスーパーアレイではないからです 3 > 2 5 == 3 + 2 11 > 5 + 3 + 2 大型のアレイは、アレイ内の各新しい要素は、以前のすべての要素の積よりも大きい配列です。{2, 3, 7, 43, 1856}はスーパー配列ですが、それはまた、より大きな配列です 3 > …

13
ゼロサムカバー
前書き 整数の空でないリストLを考えます。ゼロサムスライスのLは、の連続サブシーケンスであるL、その和例えば0に等しい、[1、-3、2]のゼロ和スライスである[-2、4、1、-3、2,2 、-1、-1]ですが、[2、2]は(合計が0にならないため)ではなく、[4、-3、-1]にもなりません(隣接していないため)。 ゼロ和スライスの集合LがあるゼロサムカバーのLすべての要素は、スライスの少なくとも一つに属する場合。例えば: L = [-2, 4, 1, -3, 2, 2, -1, -1] A = [-2, 4, 1, -3] B = [1, -3, 2] C = [2, -1, -1] 3つのゼロサムスライスA、B、およびCは、Lのゼロサムカバーを形成します。次のように、同じスライスの複数のコピーがゼロサムカバーに表示される場合があります。 L = [2, -1, -1, -1, 2, -1, -1] A = [2, -1, -1] B = [-1, -1, 2] …

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