LeetCode/Medium

45. Jump Game II

GenieLove! 2022. 4. 10. 09:29
728x90
반응형

Python - 코드 생각이 어려움

class Solution:
    def jump(self, nums: List[int]) -> int:
        if len(nums) <= 1:
            return 0
        #이전에 방문한 곳 - index움직인 곳보다 더 크면 방문
        jump = 1
        pre_visited_count = nums[0]#더 이전에 방문한 곳(진짜)
        visited_count = nums[0]#현재 방문으로 체크하려는 곳
        
        for i in range(1, len(nums) - 1):
            pre_visited_count -= 1
            visited_count -= 1
            
            if nums[i] > visited_count:#현재 방문으로 체크된 곳이 현재 값보다 작으면 바꿔줌
                visited_count = nums[i]
                
            if pre_visited_count == 0:#그 이전에 방문했던 카운트가 다 떨어졌으면 진짜 점프 해야 됨
                jump += 1
                pre_visited_count = visited_count
        
        return jump

Java

class Solution {
    public int jump(int[] nums) {
        if (nums.length <= 1) {
            return 0;
        }
        
        int preCount = nums[0];
        int nowCount = nums[0];
        int jump = 1;
        
        for (int i = 1; i < nums.length - 1; i++) {
            preCount--;
            nowCount--;
            
            if (nums[i] > nowCount) {
                nowCount = nums[i];
            }
            
            if (preCount == 0) {
                jump++;
                preCount = nowCount;
            }
        }
        return jump;
    }
}
728x90
반응형

'LeetCode > Medium' 카테고리의 다른 글

134. Gas Station  (0) 2022.04.18
103. Binary Tree Zigzag Level Order Traversal  (0) 2022.04.11
6. Zigzag Conversion  (0) 2022.04.07
102. Binary Tree Level Order Traversal  (0) 2022.04.05
50. Pow(x, n)  (0) 2022.04.01