Posts

Day 31: Climbing Stairs : leetcode: python3

  You are climbing a staircase. It takes   n   steps to reach the top. Each time you can either climb  1  or  2  steps. In how many distinct ways can you climb to the top? Example 1: Input: n = 2 Output: 2 Explanation: There are two ways to climb to the top. 1. 1 step + 1 step 2. 2 steps Example 2: Input: n = 3 Output: 3 Explanation: There are three ways to climb to the top. 1. 1 step + 1 step + 1 step 2. 1 step + 2 steps 3. 2 steps + 1 step Constraints: 1 <= n <= 45    SOLUTION: class Solution :     def climbStairs ( self , n : int ) -> int :         pOne , pTwo = 1 , 1         for i in range ( n -1 ):             temp = pOne             pOne = pOne + pTwo             pTwo = temp         return pOne Time Complexity: O(n) Space Complexity:O(1) How it works: The climbStairs function takes an integer n as input and returns the number of distinct ways to climb to the top of the staircase. The variables pOne and pTwo are initialized to 1. These variables represent

Day 30: Sliding Window Maximum: Sliding Window - leetcode - Python3

You are given an array of integers  nums , there is a sliding window of size  k  which is moving from the very left of the array to the very right. You can only see the  k  numbers in the window. Each time the sliding window moves right by one position. Return  the max sliding window . Example 1: Input: nums = [1,3,-1,-3,5,3,6,7], k = 3 Output: [3,3,5,5,6,7] Explanation: Window position Max --------------- ----- [1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3 6 7 5 1 3 -1 [-3 5 3] 6 7 5 1 3 -1 -3 [5 3 6] 7 6 1 3 -1 -3 5 [3 6 7] 7 Example 2: Input: nums = [1], k = 1 Output: [1] Constraints: 1 <= nums.length <= 10 5 -10 4 <= nums[i] <= 10 4 1 <= k <= nums.length    SOLUTION class Solution :     def maxSlidingWindow ( self , nums : List [ int ], k : int ) -> List [ int ]:         result = []         q = collections.deque ()         l = r = 0