問題タブ [set-theory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - 一連の配列と交差する最小の配列を見つける
['a', 'b']
、['b', 'c']
およびの 3 つの配列があるとし['d']
ます。これらの 3 つの配列と交差する 4 つ目の配列を最小数の要素で作成するとしたら、得られる配列は['b', 'd']
. 私の質問は...どうすればこの配列を見つけることができますか?
['a', 'b', 'c', 'd']
確かにすべての配列と交差するようですが、それは最小の交差ではありません-です['b', 'd']
。
何か案は?
java - この Java プログラムは、反復を使用して自然数を集合論的エンコーディングに変換します。再帰的ソリューションのヘルプ/戦略をリクエストしますか?
私は、ZFC 集合論、特にコンピュータ プログラムが無限公理をモデル化して自然数を「構築」する方法をよりよく理解しようとしています。自然数を構成するために使用される典型的な記号は、「{」、「}」、および「,」です。
以下のコードは機能しますが、純粋に再帰的なソリューションを望んでいます。自然数 (ここでは int を使用) を指定すると、対応する文字列を集合論的エンコーディングに再帰的に構築し、それを返します。理想的には、現在使用されている String 配列のような余分なデータ構造を使用せずに機能することを願っています。
ランタイムが遅い (指数関数的) 場合は問題ありません。再帰を使用すると、プロセスの表現がより単純で、より凝縮/エレガントになり、理解しやすくなることがあります。パフォーマンスに関係なく、このような解決策がどのように見えるかを非常に知りたいです。最終的には、数学/数の基礎をよりよく理解したいと思います。たくさんの質問がありますが、これは始めるのに良い方法かもしれないと思いました. ありがとう!
python - タプルのリストに理論の魔法を設定する
Pythonには、2つのリストA
とB
. どちらのリストもタプルで構成されています(x,y)
。例えば:
今、私が欲しい結果は3つあります。タプルが含まれていなければ、それらはすべて集合論で簡単に解くことができます。
結果 1: 両方のリストの交差: set(A) & set(B)
)。したがって、結果は両方のリストのタプルの両方の値を比較する必要があります。結果は次のようになります。C = [('x1','y1')]
(x,y)[0]
結果 2: のみが一致する両方のリストの交差。結果は次のようになります: D = (('x1','y1'), ('x2', ('y2', 'y5'))]
。理想的には解決策ですD - C -> E = [('x2', ('y2', 'y5'))]
が、私はそれ自体で生きることができD
ます.
結果 3: :B
と比較したリストの固有値。でのみ比較されます。結果は次のようになります: 。A
set(B)-(set(A) & set(B))
(x,y)[0]
[('x4', 'y4')]
これらの問題については何も見つけることができず、自分で解決策を構築することもできませんでした. 誰でも助けることができますか?
algorithm - 非減少シーケンスを形成できる断片にシーケンスを分割するためのカットの最小数
たとえば、3、1、4、5、2、8、7 などの N 個の整数があります。いくつかの重複がある可能性があります。このシーケンスを連続したサブシーケンスに分割して、それらから非減少シーケンスを形成できるようにします。カットの最小数を計算する方法は? 上記の例では、このシーケンスを {3}、{1}、{4, 5}、{2}、{7}、{8} に分割し、{1, 2 を形成できるため、答えは 6 です。 、3、4、5、7、8}。これを行う最速の方法は何ですか?
一部の数値が等しいと仮定して、それを解決する方法を知っている人はいますか?
algorithm - 別のリストのすべての要素をカバーするために必要なリストの最小数を見つける方法
私はMatlabを使用してコードに取り組んでおり、参照リストのすべての要素をカバーするために必要な最小数のリスト(特定のリストのセット)を見つける必要があります。
たとえば、私の参照リストが
そして、次のような一連のリストがあります。
のすべての要素をカバーするために必要なリストの最小数X
は2
(B
とC
) ですが、最初に最も多くの要素 ( A
) をカバーするリストのみを検索し、残りの要素をカバーする他のリストを見つけようとすると、少なくとも3
リストを使用することになります。これに必要な最小数のリストを検索できるコードを作成する最良の方法は何でしょうか (これにより、B
andの出力が得られますC
)。どんな助けでも大歓迎です...この問題への最善のアプローチ方法の概念的な説明(実際のコードではない)だけでも、大きな助けになります!