Leetcode 121 Best Time to Buy and Sell Stock

Problem statement You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0. Example 1: Input: prices = [7,1,5,3,6,4] Output: 5 Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5....

January 2, 2023 路 2 min 路 220 words 路 Me

Leetcode 1 Two Sum

Introduction After weeks of preparation, the big day has finally arrived. At 10:28 am PST, Javier (馃懆) is moments away from his first interview with Jordanna (馃懇), a senior software engineer at MAANG inc. The zoom call begins. 馃懇 鈥淭hanks for taking the time to interview with us today. We鈥檒l start off with brief introductions. My name is Jordanna and I earned my M.Sc. from UPenn before joining MAANG six years ago....

January 2, 2023 路 5 min 路 943 words 路 Me

Leetcode 278 First Bad Version

Problem Statement You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the previous version, all the versions after a bad version are also bad. Suppose you have n versions [1, 2, ..., n] and you want to find out the first bad one, which causes all the following ones to be bad....

December 13, 2022 路 2 min 路 235 words 路 Me

Leetcode 704 Binary Search

Problem Statement Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity. Example 1: Input: nums = [-1,0,3,5,9,12], target = 9 Output: 4 Explanation: 9 exists in nums and its index is 4 Example 2: Input: nums = [-1,0,3,5,9,12], target = 2 Output: -1 Explanation: 2 does not exist in nums so return -1 Solution class Solution: def search(self, nums: List[int], target: int) -> int: """ 0 1 2 3 4 5 ---------------------- / target -1, 0, 3, 5, 9, 12 ^a ^m ^b """ a, b = 0, len(nums) - 1 while a <= b: m = (b + a) // 2 if nums[m] == target: return m elif nums[m] < target: a = m + 1 else: b = m - 1 return -1 Leetcode 704 Binary Search

December 12, 2022 路 1 min 路 164 words 路 Me

Leetcode 104 Maximum Depth of Binary Tree

Problem Statement Given the root of a binary tree, return its maximum depth. A binary tree鈥檚 maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. Example 1: 3 9 20 15 7 Input: root = [3,9,20,null,null,15,7] Output: 3 Example 2: Input: root = [1,null,2] Output: 2 Key Insights We can Recursive Solution # Definition for a binary tree node....

December 10, 2022 路 2 min 路 321 words 路 Me