C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#を使用して配列の最後に到達するために必要なジャンプの最小数を見つける方法は?


最初の要素から始めて、最初の要素から到達可能なすべての要素を繰り返し呼び出すことができます。最初から最後まで到達するための最小ジャンプ数は、最初から到達可能な要素から最後まで到達するために必要な最小ジャンプ数を使用して計算できます。

配列=={1、3、6、3、2、3、6、8、9、5};

必要なステップ数は4です

using System;
namespace ConsoleApplication{
   public class Arrays{
      public int MinJumps(int[] arr, int l, int h){
         if (h == l)
            return 0;
         if (arr[l] == 0)
            return int.MaxValue;
         int min = int.MaxValue;
         for (int i = l + 1; i <= h && i <= l + arr[l]; i++){
            int jumps = MinJumps(arr, i, h);
            if (jumps != int.MaxValue && jumps + 1 < min)
               min = jumps + 1;
         }
         return min;
      }
   }
   class Program{
      static void Main(string[] args){
         Arrays a = new Arrays();
         int[] arrm = { 1, 3, 6, 3, 2, 3, 6, 8, 9, 5 };
         int n = arrm.Length;
         Console.Write(" Minimum number of jumps to reach end is " + a.MinJumps(arrm, 0, n - 1));
      }
   }
}

出力

4

  1. C言語の線形検索を使用して配列内の最小要素を見つける方法は?

    Cプログラミング言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 Input (i/p): Unsorted list of elements, key. Output (o/p): 成功–キーが見つかった場合。 失敗–それ以外の場合。 例1 以下は、線形探索を使用して配列内の最小要素を見つけるCプログラムです- #include<stdio.h&

  2. Pythonを使用して数値の階乗を見つける方法は?

    数値の階乗は、1とそれ自体の間のすべての整数の積です。与えられた数の階乗を見つけるために、1からそれ自体までの範囲でforループを形成しましょう。 range()関数は停止値を除外することに注意してください。したがって、停止値は入力数より1大きい値にする必要があります。 範囲内の各数値は、1に初期化される変数fで累積的に乗算されます 例 num=int(input('enter a number')) f=1 for i in range(1,num+1):   f=f*i print ('factorial of', num, '='