java藍橋杯算法題(數組數據跳躍)

題目:數組數據跳躍
給定一個非空的整數數組,從數組第一個元素(下標爲0的元素)開始遍歷進行移動,下一次向後或向前移動 
該元素的值 的位數(值爲正數向後移動,值爲負數向前移動,值爲零不移動),依次類推進行移動,
若某次移動數組出現越界,則說明數組可以跳出,返回true;不能跳出則返回false;
(加分項:也可考慮不增加使用其他集合數組輔助完成算法)
例1:
輸入數組a[5] = [1,2,3,2,5];從第一個元素開始a[0]=1,
下次向後移動1位到第二個元素a[1]=2,
再次向後移動2位到第四個元素a[3],
因爲下次向後移動2位(a[3]=2)後,向後數組越界,即跳出數組,輸出true;
例2:
輸入數組a[2] = [1,-3];從第一個元素開始a[0]=1,
下次移動1位到第二個元素a[1]=-3,再次向前移動3位後,
向前數組越界,即跳出數組,輸出true;

思路:主要是判斷下標,下標超過數組長度或者下標小於0的時候一定是跳出了,
死循環的問題可以來根據下標訪問次數來定,如果訪問次數大於2一定是在進行死循環

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章