1. 程式人生 > 其它 >Python入門基礎篇 No.30 —— 元組_生成器推導式建立元組_總結

Python入門基礎篇 No.30 —— 元組_生成器推導式建立元組_總結

技術標籤:Leetcodeleetcode演算法資料結構

跳躍遊戲

//跳躍遊戲
/*給出一個非負整數陣列,你最初在陣列第一個元素的位置
陣列中的元素代表你在這個位置可以跳躍的最大長度
判斷你是否能到達陣列最後一個元素的位置
例如
A =[2,3,1,1,4], 返回 true.
A =[3,2,1,0,4], 返回 false. */
#include<string>
#include<vector>
#include<algorithm>
#include<iostream>
#include<memory>
using namespace
std; class Solution { public: /*貪心演算法。每次都以當前位置pos的元素數字A[pos]前進,若當前位置元素為0, 記錄下當前能達到的最遠距離,逐次回退一位並判定每次(都按貪心方法前進) 是否能越過之前的最遠距離(位置元素為0的點),若位置回退至0或-1(開始 第一位的元素即為0)則返回false */ bool canJump(int* A, int n) { int pos = 0; while (pos < (n - 1)) { int step = A[pos]; if (step == 0) { int farest =
pos; while ((pos + A[pos]) <= farest) { --pos; if (pos <= 0) return false; } continue; } pos += step; } return true; } };