최대 수를 나타내는 음수가 아닌 정수 배열이 제공됩니다. 이 요소에서 앞으로 나아갈 수 있는 단계입니다. 포인터는 처음에 배열의 첫 번째 인덱스 [0 인덱스]에 위치합니다. 당신의 목표는 끝까지 도달하는 것입니다 최소 단계 수로 배열에 대한 인덱스입니다. 연결할 수 없는 경우 배열의 끝을 확인한 다음 가장 큰 정수를 인쇄합니다.
순진한 접근 방식은 초기 {main} 구성 요소부터 시작하여 첫 번째 요소에서 액세스할 수 있는 모든 구성 요소를 재귀적으로 호출하는 것입니다. 처음부터 끝까지의 최소 점프 범위는 액세스 가능한 첫 번째 요소에서 끝까지 도달하는 데 필요한 최소 점프 범위를 사용하여 계산됩니다.
minJumps(start, end) = Min ( minJumps(k, end) ) for all k accessible from the start
여기서는 하향식 동적 프로그래밍 접근 방식을 사용합니다. 우리는 Hashmap을 사용하여 하위 문제 결과를 저장하고 솔루션을 만들 때마다 먼저 하위 문제가 해결되었는지 확인한 다음 사용합니다.
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단계(예: 4 또는 1)로 이동할 수 있습니다. 1부터 4까지, 그리고 등등.
최소 숫자를 찾는 동적 프로그래밍 방법의 복잡성 배열의 끝에 도달하기 위한 점프 횟수는 O(n^2)이고, 공간 복잡도는 O(n)
Example
실시간 데모
#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; }
Output
Enter size of array : 7 Enter elements in the array :2 1 1 5 2 1 1 Minimum number of steps : 3
위 내용은 끝에 도달하기 위한 최소 홉 수를 찾는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

Givenwithapositiveintegervaluelet’ssay‘val’andthetaskistoprintthevalueofbinomialcoefficientB(n,k)where,nandkbeanyvaluebetween0tovalandhencedisplaytheresult.WhatisBinomialCoefficientBinomialcoefficient(n,k)istheorderofcho

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

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

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

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

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


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

뜨거운 주제



