この質問の内容を理解するのは苦労します。私はコードを要求していない、私はちょうどこの問題が何を求めているのか、それを攻撃する方法についての説明が欲しい。正の整数のソートされた配列が与えられた場合、配列の要素のサブセットがxに足りないように、xが1以上の最小の整数値を見つけます。配列は非降順でソートされ、重複を含むことができます。たとえば、入力{1,1,1,1,2}の出力7、入力{3,4,5}の出力1、入力{1,3,9 }出力2.要素のサブセットが存在しないように最小の整数値1を見つけます。
答えて
よく入力してみましょう。(1,1,1,1,2)私は1を取ることにしましょう。数字は1より小さく、出力ではありません。次の数字を入力しましょう。 1.iはすでにそれをチェックして、前のものに追加しようとします。結果は2です。出力は1にすることができますか?いいえ、私たちはそれ以前に言いました。入力からの次の要素は1です。それを前の要素に追加すると、2が得られます。それを入力の最初の要素に追加します。しかし、3より小さく0より大きい数字は出力できません。入力の次の数字は1です。それは類推です。次の入力番号は2です。以前の結果と再帰的に合計すると、合計6になります。次に、7は入力配列の要素を合計することで得られない最小の数です。あなたが入力のsumany数とそれらの任意の数を結びつけて紙に書いてそれをソートすれば、結果リストにない最小のxを見つけようとします。
簡単な問題。あなたは、基本的基準はXが配列または含まれている数字のいずれかの合計内数字にすることはできませんということでX用のすべての配列値の1と合計+ 1
[1, 1, 1, 1, 2] > sum = 6
[3, 4, 5] > sum = 12
[1, 3, 9] > sum = 13
の間にある番号を解決しています配列内にあります。この問題を説明するための
最も簡単な方法は次のとおりである:「配列の数を考えると、最小の数ませはあなた配列内にどのような含まれているわけではありません添加することによって作ります。 "
最初の配列をとります。配列の値を指定すると、配列の任意の数またはすべての数を加算することで、1,2,3,4,5,6という数字を得ることはできますが、7はできません。
2番目の配列をとります。 1は出力です。数字3,7,8,9を得ることができます。これは簡単です。配列の最小の数は1より大きいため、答えは1です。
3番目の配列を取ってください。 2あなたは数字1、3、4、10、12、13 1と3 exist..butない2.
を得ることができますので、たぶん良いアルゴリズムはのソートセットを作成で構成されて出力されますすべての可能な総和、任意の整数の配列問題の答えは、セットの最初の数字が1より大きい場合、またはセット[n] + 1のセット[n] = 1の場合は1、
- 1. 整数フィールドにない最小値を見つける方法
- 2. ランダムな整数の配列で最小の要素と最大の要素を見つける方法は?
- 3. 5つの整数の最小値を見つける?
- 4. 行列から非対角の最小要素を1つ見つけます。
- 5. 整数のストリームで最大の要素を見つける
- 6. C++ map、キーよりも小さい最初の要素を見つけよう
- 7. 合計が指定された整数より大きい整数の最小セットを見つけよう
- 8. Matlabが関数の最小値/最大値を見つける
- 9. フィールドの1つがヌルで、値が必要な場合に最も近い数値を見つけます。
- 10. 配列が与えられた場合、各要素の最後の小さい要素を見つけよう。
- 11. MongoDB:存在しないまたは特定の値を見つけよう
- 12. 以前の列には存在しない値を見つけよう
- 13. 数値ジェネリックを使用してネイティブ数値型の最小値/最大値を取得すると、Int32.MaxValueが存在しないように見える
- 14. 2つのベクトルの各要素を引く最小値を見つける
- 15. 現在のプラットフォームで最大のネイティブ整数型を見つけよう
- 16. 配列の最小要素と最大要素を見つける方法は?
- 17. 子どもの数が最も少ない要素を見つけますか?
- 18. ベクトル。どのように要素の最大数を設定し、現在のカウントを見つける?
- 19. 最小番号を見つけようとしています
- 20. 条件を満たさない負でない最小の整数を見つけよう
- 21. forループを使用して最小値を見つけよう
- 22. リストの辞書からキーの最小サブセットを見つける
- 23. 配列内の最小要素の位置を見つける
- 24. matlabの最小要素のインデックスを見つける
- 25. 数字のペアから数値を作る最小ステップを見つけよう
- 26. 与えられた整数よりも小さい最大の興味深い数字を見つけよう
- 27. ベクトル内の要素の最大の差を見つけよう
- 28. 3つの要素の値の間に整数が存在するかどうかを調べる
- 29. 前の行9行の最小値と最大値を見つけよう
- 30. 循環ソート配列の最小要素を見つける
最後の部分を除いて、良いアルゴリズムは、整数の任意の配列を与えられたすべての可能な総和のソートされた集合を作成することから成り立つ。問題の答えは、集合の最初の数が1より大きい場合には1、集合[n] ] = 1」となる。また、私はそれを解決する必要がありますO(n)、任意のアイデアをどのようにそれについて行く? – restores