検索
ホームページバックエンド開発C++終端に到達するための最小ホップ数を見つけるための C プログラム
終端に到達するための最小ホップ数を見つけるための C プログラムAug 26, 2023 am 11:41 AM
Cプログラム探す最小ホップ数

終端に到達するための最小ホップ数を見つけるための C プログラム

最大数を表す、負ではない整数の配列が与えられる この要素から実行できる手順。ポインタは最初、配列の最初のインデックス [0 インデックス] に配置されます。あなたの目標は最後まで到達することです 最小ステップ数での配列へのインデックス。到達できない場合 配列の末尾を調べてから、最大の整数を出力します。

素朴なアプローチ は、最初の {main} コンポーネントから始めて、最初の要素からアクセスできるすべてのコンポーネントを再帰的に呼び出すことです。最初から最後までの最小ジャンプ範囲は、最初にアクセス可能な要素から最後に到達するために必要な最小ジャンプ範囲を使用して計算されます。

minJumps(start, end) = Min ( minJumps(k, end) )
for all k accessible from the start

ここでは、トップダウンの動的プログラミング アプローチを使用します。ハッシュマップを使用して部分問題の結果を保存し、解決策を作成するたびに、最初に部分問題が解決されているかどうかを確認し、解決されている場合はそれを使用します。

Input: { 1, 2, 4, 1, 2, 2, 1, 1, 3, 8 }
Output: Minimum number of steps = 6 {1-->2-->4-->1-->3-->8}

説明

最初の要素は 1 なので、2 までしか進むことができません。 2番目の要素は 2 なので、最大 2 ステップ、たとえば 4 または 1 に進むことができます。リーチ1からリーチ4まで、 などなど。

最小値を求める動的プログラミング手法の複雑さ 配列の最後に到達するまでのジャンプ数は O(n^2)、空間複雑度は O(n)です。

リアルタイム デモンストレーション

#include<stdio.h>
#include<limits.h>
int min_steps (int arr[], int n){
   int steps[n];
   int i, j;
   if (n == 0 || arr[0] == 0)
      return INT_MAX;
   steps[0] = 0;
   for (i = 1; i < n; i++){
      steps[i] = INT_MAX;
      for (j = 0; j < i; j++){
         if (i <= j + arr[j] && steps[j] != INT_MAX){
            steps[i] = (steps[i] < (steps[j] + 1)) ? steps[i] : steps[j] + 1;
            break;
         }
      }
   }
   return steps[n - 1];
}
int main (){
   int arr[100];
   int n;
   printf ("Enter size of the array:");
   scanf ("%d", &n);
   printf ("Enter elements in the array:");
   for (int i = 0; i < n; i++){
      scanf ("%d", &arr[i]);
   }
   printf ("Minimum number of steps : %d", min_steps (arr, n));
   return 0;
}

出力

Enter size of array : 7
Enter elements in the array :2 1 1 5 2 1 1
Minimum number of steps : 3

以上が終端に到達するための最小ホップ数を見つけるための C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はtutorialspointで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
命运方舟寻找有烛光闪耀的地方在哪命运方舟寻找有烛光闪耀的地方在哪Mar 20, 2024 pm 05:46 PM

命运方舟新地图新版本的开启也是有着全新声望的任务,除了罗温地图外还有一个日常是在智慧岛的,前置的任务是从贝隆南开启的,很多小伙伴做到“寻找有烛光闪耀的地方”这一环的时候就没有指引的了,也是好奇具体的位置在哪,下面为大家带来该任务的攻略!命运方舟寻找有烛光闪耀的地方任务攻略在智慧岛里面的房间当中,大厅还有个走廊,能够进入到地下室,走进去就可以看到后续任务的位置了,如图:

坂本智彦的算法-寻找星期几坂本智彦的算法-寻找星期几Sep 02, 2023 pm 07:09 PM

在本文中,我们将讨论什么是TomohikoSakamoto算法以及如何使用该算法来识别给定日期是一周中的哪一天。有多种算法可以知道星期几,但这种算法是最强大的一种。该算法以尽可能最小的时间和最小的空间复杂度找到该日期出现的月份中的哪一天。问题陈述-我们根据格鲁吉亚历给出一个日期,我们的任务是使用TomohikoSakamoto的算法找出给定日期是一周中的哪一天。示例输入-日期=30,月份=04,年份=2020输出-给定日期是星期一输入-日期=15,月份=03,年份=2012输出-给定日期是星期四

二项式系数表的C程序二项式系数表的C程序Aug 26, 2023 pm 12:49 PM

Givenwithapositiveintegervaluelet&rsquo;ssay&lsquo;val&rsquo;andthetaskistoprintthevalueofbinomialcoefficientB(n,k)where,nandkbeanyvaluebetween0tovalandhencedisplaytheresult.WhatisBinomialCoefficientBinomialcoefficient(n,k)istheorderofcho

最小成本路径的C程序最小成本路径的C程序Aug 26, 2023 pm 06:17 PM

在这里,我们将解决C语言中的最小成本路径问题。这意味着在2D矩阵上完成,其中每个单元格都有一个移动成本。我们必须找到一条从左上角到右下角且行程成本最小的路径。您只能从给定单元格向下和右下遍历单元格。为了解决这个特定问题,动态编程比递归更好。给定成本矩阵cost[][]和位置(m,n),我们必须编写一个函数,返回从(0,0)到达(m,n)的最小路径成本到达(m,n)的路径的总成本是该路径上所有成本的总和(包括源和目的地)。假设−所有成本是积极的。输入矩阵中不存在负成本循环示例查找到(2,2)的最小

在C语言中编写一个程序,打印出N个五角数的序列在C语言中编写一个程序,打印出N个五角数的序列Aug 25, 2023 pm 02:25 PM

程序说明五维体数是帕斯卡三角形的任意一行中第五个数字,从左到右或从右到左开始,起始于5项行14641。这种数字的前几个是1,5,15,35,70,126,210,330,495,715,1001,1365Pentatopenumbersbelongintheclassoffiguratenumbers,whichcanberepresentedasregular,discretegeometricpatterns.Theformulaforthenthpentatopicnumberis$$\l

作业帮app如何寻找同类题型 寻找同类题型方法技巧作业帮app如何寻找同类题型 寻找同类题型方法技巧Mar 12, 2024 pm 03:30 PM

  作业帮app如何寻找同类题型?这是一款非常受学生欢迎的答题软件,在这款软件中,学生们不仅可以快速的查找自己的想要的题型,而且系统还可以给用户们提供相识的类型题目。对于刚接触这款软件的用户们,估计还不知道怎么去寻找相关的题目吧。接下来由小编给你来带来作业帮app寻找同类题型方法技巧,有需要的小伙伴可以进行参考。作业帮app寻找同类题型方法技巧  1、首先在手机桌面中,点击作业帮。  2、然后输入手机号,并获取验证码。  3、接着在打开的页面中,选择学习身份。  4、然后选择所在的年级,并点击进

C++程序以找到给定值的反正切C++程序以找到给定值的反正切Aug 26, 2023 am 10:09 AM

我们在三角学中最常使用的比率包括正弦、余弦、正切等等。您可以使用角度来计算这些比率。如果我们知道比率值,我们还可以使用反三角函数计算角度。本课程将向您展示如何使用C++的反正切(arctan)函数,使用正切值(以弧度为单位)计算角度。atan()函数使用atan()技术和反三角正切函数计算角度。C++标准库包含这个函数。在使用这种方法之前,我们必须导入cmath库。此方法返回以弧度为单位的角度,并采用正切值作为参数。以下使用简单的语法-语法#include<cmath>atan(&l

找不到msvcp100.dll怎么办找不到msvcp100.dll怎么办Jan 12, 2024 pm 01:42 PM

msvcp100.dll文件是运行许多程序的重要软件!如果msvcp100.dll文件出现了丢失或者找不到的情况那么将会有很多的程序无法进行运行!今天小编就为大家带来了msvcp100.dll文件丢失修复方法!一起来看看吧。找不到msvcp100.dll解决办法:方法一:一:点击下载msvcp100.dll文件。二:将下载好的文件解压后复制到将与电脑系统对应的文件夹中。1、Windows95/98/Me系统,复制到C:WindowsSystem目录下。2、WindowsNT/2000系统,复制到

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。