Python Articles - Page 777 of 929

Delete Nodes And Return Forest in Python

Arnab Chakraborty
Updated on 05-Mar-2020 07:26:02

306 Views

Suppose we have the root of a binary tree, each node in the tree has a unique value. After removing all nodes with a value in to_delete, we are left with a forest. We have to find the roots of the trees in the remaining forest. So if the input is likeif the to_delete array is like [3, 5], then the output will beTo solve this, we will follow these steps −Define an array resDefine a method solve(), this will take node, to_delete array and a Boolean type info to which is telling that the node is root or not. ... Read More

Filling Bookcase Shelves in Python

Arnab Chakraborty
Updated on 05-Mar-2020 07:15:01

680 Views

Suppose we have a sequence of books − Here the i-th book has thickness books[i][0] and height books[i][1]. If we want to place these books in order onto bookshelves that have total width shelf_width. If we choose some of the books to place on this shelf (such that the sum of their thickness is = 0 and temp – books[j, 0] >= 0, docurr_height := max of books[j, 1], curr_heightdp[i] := min of dp[i], curr_height + (dp[j - 1] if j – 1 >= 0, otherwise 0)temp := temp – books[j, 0]decrease j by 1return last element of dpLet us ... Read More

Path With Maximum Minimum Value in Python

Arnab Chakraborty
Updated on 05-Mar-2020 07:11:48

516 Views

Suppose we have a matrix A of integers with R rows and C columns, we have to find the maximum score of a path starting from [0, 0] and ending at [R-1, C-1]. Here the scoring technique will be the minimum value in that path. For example, the value of the path 8 → 4 → 5 → 9 is 4. A path moves some number of times from one visited cell to any neighboring unvisited cell in one of the 4 cardinal directions (north, east, west, south).For example, if the grid is like −545126746The orange cells will be the ... Read More

Smallest Subsequence of Distinct Characters in Python

Arnab Chakraborty
Updated on 05-Mar-2020 07:02:11

244 Views

Suppose we have a text, we have to find the lexicographically smallest subsequence of text that contains all the distinct characters of text exactly once. So if the input is like “cdadabcc”, then the output will be “adbc”.To solve this, we will follow these steps −Define a stack st, two maps last_o and considered, they are initially blankfor i in range length of text – 1 down to 0if text[i] is not present in last_o −last_o[text[i]] := iconsidered[text[i]] := falsei := 0while i < length of textif stack has no elementspush text[i] into stackconsidered[text[i]] := trueincrease i by 1otherwise stack ... Read More

Mobile

Insufficient Nodes in Root to Leaf Paths in Python

Arnab Chakraborty
Updated on 05-Mar-2020 06:54:00

328 Views

Suppose we have a binary tree. A node is known as insufficient if every such root to leaf path intersecting this node has sum strictly less than limit. We have to delete all insufficient nodes simultaneously, and return the root of the resulting binary tree. So if the tree is like, and the limit is 1 −Then the output tree will be −To solve this, we will follow these steps −Define a method solve(), this will take root and limitif node has no left and right subtree, thenif value of root is less than 1, return null, otherwise rootif root ... Read More

Grumpy Bookstore Owner in Python

Arnab Chakraborty
Updated on 02-May-2020 11:00:29

290 Views

Suppose a bookstore owner has a store open for number of customers list entries minutes. In every minute, some number of customers (customers[i]) enter the store, after that all those customers leave after the end of that minute. On some minutes, the owner is grumpy. Now if the owner is grumpy on the i-th minute, then grumpy[i] = 1, otherwise grumpy[i] = 0. When the bookstore owner is grumpy, the customers of that minute are unhappy, otherwise they are happy. The bookstore owner knows a technique to keep themselves not grumpy for X minutes straight. That technique cannot be used ... Read More

Capacity To Ship Packages Within D Days in Python

Arnab Chakraborty
Updated on 02-May-2020 10:46:47

413 Views

Suppose there is a conveyor belt has packages that will be shipped from one port to another within D days. Here the i-th package on the conveyor belt has a weight of weights[i]. Each day, we will load the ship with packages on the belt. We will not load more weight than the maximum weight capacity of the ship. We have to find the least weight capacity of the ship that will result in all the packages on the conveyor belt being shipped within D days. So if the input is like [3, 2, 2, 4, 1, 4] and D ... Read More

Construct Binary Search Tree from Preorder Traversal in Python

Arnab Chakraborty
Updated on 02-May-2020 10:45:57

860 Views

Suppose we have to create a binary search tree that matches the given preorder traversal. So if the pre-order traversal is like [8, 5, 1, 7, 10, 12], then the output will be [8, 5, 10, 1, 7, null, 12], so the tree will be −To solve this, we will follow these steps −root := 0th node of the preorder traversal liststack := a stack, and push root into the stackfor each element i from the second element of the preorder listi := a node with value iif value of i < top of the stack top element, thenleft of ... Read More

Smallest String Starting From Leaf in Python

Arnab Chakraborty
Updated on 02-May-2020 10:35:23

314 Views

Suppose we have the root of a binary tree, each node is containing a value from 0 to 25 , which are representing the letters 'a' to 'z': a value of 0 represents 'a', a value of 1 represents 'b', and so on. We have to search the lexicographically smallest string that starts at a leaf of this tree and finishes at the root. So if the tree is like −Then the output will be “adz” as the sequence is [0, 3, 25]To solve this, we will follow these steps −Define a dfs traversal method as followsif node is not ... Read More

Basic Calculator II in Python

Arnab Chakraborty
Updated on 04-Mar-2020 06:20:53

983 Views

Suppose we have to implement a basic calculator to evaluate a simple expression string. The expression string will hold only non-negative integers, some operators like, +, -, *, / and empty spaces. The integer division should take the quotient part only.So if the input is like “3+2*2”, then the output will be 7.To solve this, we will follow these steps −define a stack s, i := 0, x := an empty stringfor each character j in sif j is not a blank characterappend j into xs := x, n := length of xwhile i < nif s[i] is ‘/’, thenincrease ... Read More

Advertisements