1. 程式人生 > >java__給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。

java__給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 請確認你是否能夠跳躍到陣列的最後一個下標。

import java.util.Scanner;
public class Main     
{ 
    public static void main(String[] args){   	
    int arr[]=new int[1000];  
    Scanner in=new Scanner(System.in);
    int n=in.nextInt();
    for(int i=0;i<n;i++)  
        arr[i]=in.nextInt();
        
    if(Jump(n,arr,0)==1) System.out.println("true");
    if(Jump(n,arr,0)==0) System.out.println("false");
    }

    static int Jump(int n,int arr[],int x)  
    {    
        if(x>=n-1)  
            return 1;  
        for(int i=arr[x];i>0;i--)  
        {  
            if(Jump(n,arr,x+i)==1)  
                return 1;  
            else  
                arr[x+i]= -1;  
        }  
        return 0;  
    }  
}


相關推薦

給定一個整數 num反覆將各個位上的數字相加直到結果一位數

示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於2是一位數,所以返回 2。 進階: 你可以不使用迴圈或者遞迴,且在 O(1) 時間複雜度內解決這個問題嗎?   class Solution {  

LeetCode 給定一個整數 num對於 0 ≤ i ≤ num 範圍每個數字 i 計算其二進位制數的 1 的數目並將它們作為陣列返回

/**  * Return an array of size *returnSize.  * Note: The returned array must be malloced, assume caller calls free().  */ int* countBit

給定一個整數陣列最初定位在陣列第一索引處每個元素表示您在該位置跳躍長度小跳數

本題源自leetcode  45 ------------------------------------------------------------------------- 思路:用倆個 變數標識當前的位置  和 下一步能調到最遠的位置。 程式碼: int jum

一個遞迴函式DigitSum(n)輸入一個整數返回組成它的數字之和 例如呼叫DigitSum(1729)則應該返回1+7+2+9它的和是19

#include <stdio.h> #define _CRT_SECURE_NO_WARNINGS 1 int DigitSum(int i) { int sum = 0; int j = 0; if (i != 0) { j = i % 10; i = i /

遞迴函式DigitSum(n)輸入一個整數返回組成它的數字之和

例:呼叫DigitSum(1729),則應該返回1+7+2+9,它的和是19 程式碼: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int Add(

【資料結構 C描述】使用順序棧編制一個滿足下列要求的程式:對於輸入的任意一個十進位制數列印輸出與其等值的二進位制數

【資料結構 C描述】使用順序棧編制一個滿足下列要求的程式:對於輸入的任意一個非負十進位制數,列印輸出與其等值的二進位制數。 //main.cpp #include <iostream> #include <malloc.h> #include <stdl

一個遞迴函式DigitSum(n)輸入一個整數返回他組成它的數字之和

寫一個遞迴函式DigitSum(n),輸入一個非負整數,返回他組成它的數字之和 思路分析:遞迴函式的遞推關係:sum%10+DigitSum(sum\10); ​ 出口:sum為個位數; 完整程式: #define _CRT_SECURE_NO_WARNINGS #incl

C語言編程實現 輸入一個整數返回組成它的數字之和(遞歸方法)

第四次 use pri int digi pre 編程 res std 此題目基本思想與非遞歸方法思想一樣,主要是對輸入的數進行取數(對10取余)和縮小(整除10)eg:1234第一次 1234%10取得數4,1234/10縮小為123第二次 123%10取得數3, 1

誒~來寫一個遞迴函式 輸入一個整數 返回組成它的數字之和

寫一個遞迴函式DigitSum(n),輸入一個非負整數,返回組成它的數字之和 例如,呼叫DigitSum(1729),則應該返回1+7+2+9,它的和是19 理性分析一波 非負整數 返回組成它的數字之和 冷靜思考 反覆思考 上個廁所 吃個香蕉 喝杯咖啡 玩會兒手機 誒~真的

給定空連結串列來表示兩整數位數按照逆序方式儲存它們的每個節點只儲存單個數字將兩數相加返回一個新的連結串列

題目描述: 給定兩個非空連結串列來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回一個新的連結串列。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 思路: 1.定義連結串列類 2.建立兩個數的連結串列表示物件 3.傳入函式實現相加:每一位相加,設

給定整數列表的數字排列成數字的2種方法例如給定[5021,9]數字95021

一、題目簡介 編寫一個能將給定非負整數列表中的數字排列成最大數字的函式。例如,給定[50,2,1,9],最大數字為95021。 此處以如下陣列為例:Integer[] num=new Integer[]{51,9,370,82,4,796}; 二、例項程式碼 1、方法一: /

編寫一個能將給定整數列表的數字排列成數字的函式

//編寫一個能將給定非負整數列表中的數字排列成最大數字的函式。例如,給定[50,2,1,9],最大數字為95021。 public class Test4{ public static void main(String[] args){ int[] list={85,840,860,760,9

【Python】收集雨水問題:給定n整數表示直方圖的方柱的高度同時每個方柱的寬度假定都1若使用這樣形狀的容器收集雨水可以盛多少水量?

收集雨水問題 給定n個非負整數,表示直方圖的方柱的高度,同時,每個方柱的寬度假定都為1。若使用這樣形狀的容器收集雨水,可以盛多少水量? 如輸入:0,1,0,2,1,0,1,3,2,1,2,1;返回6。 題目來源 分析思路:

隨筆-給定字串形式的整數 num1 和num2 計算它們的和

題目:給定兩個字串形式的非負整數 num1 和num2 ,計算它們的和。 注意: num1 和num2 的長度都小於 5100. num1 和num2 都只包含數字 0-9. num1 和num2 都不包含任何前導零。 你不能使用任何內建 BigInteger 庫, 也不能直接將

[南陽OJ-No.34]韓信點兵|相傳韓信才智過人從不直接清點自己軍隊的人數只要讓士兵先後以三人一排、五人一排、七人一排地變換隊形而他每次只掠一眼隊伍的排尾就知道總人數了輸入3個非負整數a,b

南陽OJ-No.34 時間限制3000ms,記憶體限制65535KB,**難度1** 描述 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三人一排、五人一排、七人一排地變換隊形,而他每次只掠一眼隊伍的排尾就知道總人數了。輸入3個非負整數

6-8 簡單階乘計算(10 分) 本題要求實現一個計算整數階乘的簡單函式

int Factorial( const int N ); 其中N是使用者傳入的引數,其值不超過12。如果N是非負整數,則該函式必須返回N的階乘,否則返回0。int Factorial( const int N ){  int fa=0;  if(N>=0)  { fa

編寫一個能將給定整數列表的數字排列成數字的程式

問題描述:例如,給定[50,2,1,9],最大數字為95021 問題分析:將輸入的數字進行排列組合,使得最終得到的整數是最大的 問題實現需要注意 因為需要提取數列中每個數字的首位,並能夠和本

6-10 階乘計算升級版(20 分) 本題要求實現一個列印整數階乘的函式

https://pintia.cn/problem-sets/14/problems/742#include <stdio.h> void Print_Factorial ( const int N ); int main() { int N;