Skip to main content

Posts

Showing posts with the label LeetCode

LeetCode Problem #11 Container With Most Water

LeetCode Problem #11 Container With Most Water Given  n  non-negative integers  a 1 ,  a 2 , ...,  a n  , where each represents a point at coordinate ( i ,  a i ).  n  vertical lines are drawn such that the two endpoints of line  i  is at ( i ,  a i ) and ( i , 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water. Note:  You may not slant the container and  n  is at least 2. The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49. Problem Link Solution Number One O(n^2) Brute Force : Try all valid combinations  outer loop start from i = 0 to length of array inner loop start from j = i+1 to length of array  compare current area with new area and choose max. return max area. Solution Number Two O(n) : Linear Solution greedy algorithm: calc...

LeetCode Problem #19 Remove Nth Node From End of List

Solution for LeetCode Problem #19 Remove Nth Node From End of List it is linked list problem can be solved with multiple solutions, but I'm gonna solve it with fastest solution in java. Problem link we should assign dummy_head it is common while solving linked list problems  Assign 2 iterators slow and fast both equals to dummy_head we don't know the length of the list but we know it is always valid, so we will move with a window of size n+1 when we reach the end by the fast iterator the slow iterator will be in the node n+1 from the last , right? we will assign slow.next to be equal slow.next.next we are dropping the node n from last, got it? we will return dummy_head.next Thank you, AhmedG