1,2,3,4,5,6,7アレイがあり、4番目のポジション(番号5)にある場合、どうすればいいですか?それを右の4ポジションに移動するには、ポジション1(番号2)にする必要があります。負の数でも同じですが、あなたは左に移動します。 while(true)ループの必要があると思いますか?出口アレイの場合、反対側から入力してください
0
A
答えて
8
は、i
がインデックスであり、n
が配列のサイズであると仮定します。正i
負i
i%n
リターンのために必要なインデックス= i%n
負の残留については 、あなたが
int index(int i, int n) {
return i%n < 0 ? n + (i%n) : i%n;
}
0
を使用することができます必要なインデックスがn+i%n
あるので、あなたはこのようなあなたの指数を計算することができます
var newIndex = (index + 4) % 7;
を
したがって、4番目の位置は(4 + 4)%7または1になります。
0
public void MyTest()
{
var testData = new[] { 1, 2, 3, 4, 5, 6, 7 };
Assert.AreEqual(2, TraverseCircularArray(testData, 5, 3));
Assert.AreEqual(6, TraverseCircularArray(testData, 2, -4));
}
private int TraverseCircularArray(int[] array, int currentIndex, int interval)
{
var i = array[currentIndex];
if (currentIndex + interval < 0)
i = array[array.Length + (interval + currentIndex)];
else if (currentIndex + interval >= array.Length)
i = array[currentIndex - interval - 1];
else
i = array[currentIndex + interval];
return i;
}
+0
ここで目的は答えのコードを与えるのではなく、彼自身の問題を解決する助けを与えることです。このようにして、質問者は自分自身で問題を解決することによって頑強に学ぶことができます。 –
関連する問題
- 1. Laravel:入力が必要な場合は入力してください。
- 2. Swing - MaskFormatter - テキストフィールドの右側から数値を入力してください
- 3. bashコマンドの出力が空の場合、何かをしてください
- 4. 反応原産のopenlayersからimport olを入力してください
- 5. 結合されたjquery結果のWHERE句の反対側の行を選択してください
- 6. 2つの2Dアレイがある場合、それらを第3の2Dアレイに追加してください
- 7. 入力した場合のみグレードを加算してください - Googleシート
- 8. これらの入力の反対側にこのセクションを置く方法
- 9. PHPから外部シェルスクリプトを呼び出して入力してください。
- 10. 場所のデータベースからGoogleマップにデータを入力してください
- 11. AppleScript - document.getElementByIdの値がnullの場合、値を入力してください
- 12. Javascript:Textareaを選択してから入力してください
- 13. 画面の片側に入って反対側に出てきますか?
- 14. $ _POST関数の場合はfpdfで入力してください。ln()?
- 15. クリックしてください* ngルータ出口のアイテムAngular2
- 16. テキストが入力された場合、入力枠の色を変更してください
- 17. C++で正しい場合はプログラムを実行してください。そうでない場合は、もう一度入力してください。
- 18. スウィフトイメージアスペクト高さの画像が正しく表示されない場合に入力してください
- 19. データベースからのリストビューにデータを入力してください
- 20. jtableのコラムからコンボボックスを入力してください
- 21. キーボードのキーボードから配列を入力してください
- 22. サーブレットからjspのテキストフィールドデータを入力してください。
- 23. ajaxコールからVue.jsのドロップダウンを入力してください
- 24. 別のNsMutableArrayからNSMutableArrayを入力してください
- 25. jsonの応答からドロップダウンを入力してください
- 26. 正確な場所にユーザ入力を入力してください
- 27. 2次元アレイにarrayList単語をランダムに入力してください
- 28. perlから数字を入力した場合は、各桁を追加してください。
- 29. ドロップダウンコントロール(C#)からgridviewにデータを入力してください
- 30. コンボボックスからcheckelistboxを入力してください。SQL
はあなたがこれまでに試してみました何で私たちを提供することができます仕事の代わりにブードゥー教1ライナーの名前の機能と追従可能コードパスで常に明確? – Sefe
インデックスを返すメソッドを作成します。 'int index(int i、int n){return i%n;}}のような肯定的なものについては、 } ' – Valentin
コンテナの[]演算子をオーバーラップし、@ Valentinの提案を考慮に入れて –