"from typing import List
def traprainwater(height: List[int]) -> int:
if not height:
return 0
l, r = 0, len(height) - 1
leftMax, rightMax = height[l], height[r]
res = 0
while l < r:
if leftMax < rightMax:
l += 1
leftMax = max(leftMax, height[l])
res += leftMax - height[l]
else:
r -= 1
rightMax = max(rightMax, height[r])
"
Anonymous Roadrunner - "from typing import List
def traprainwater(height: List[int]) -> int:
if not height:
return 0
l, r = 0, len(height) - 1
leftMax, rightMax = height[l], height[r]
res = 0
while l < r:
if leftMax < rightMax:
l += 1
leftMax = max(leftMax, height[l])
res += leftMax - height[l]
else:
r -= 1
rightMax = max(rightMax, height[r])
"See full answer
"import java.util.*;
public class NetworkTopology {
public int topologytype(int N, int M, int[] input3, int[] input4) {
if (M != N - 1 && M != N) return -1; // Fast check for invalid cases
int[] degree = new int[N + 1]; // Degree of each node (1-based indexing)
// Build the degree array
for (int i = 0; i < M; i++) {
degree[input3[i]]++;
degree[input4[i]]++;
}
// Check for Bus Topology
boolean isBus = (M"
Alessandro R. - "import java.util.*;
public class NetworkTopology {
public int topologytype(int N, int M, int[] input3, int[] input4) {
if (M != N - 1 && M != N) return -1; // Fast check for invalid cases
int[] degree = new int[N + 1]; // Degree of each node (1-based indexing)
// Build the degree array
for (int i = 0; i < M; i++) {
degree[input3[i]]++;
degree[input4[i]]++;
}
// Check for Bus Topology
boolean isBus = (M"See full answer
"Definitely nice to think of this without memorization, but there is a well known algorithm for this problem, which is the Levenshtein Distance.
Lev(a,b) = len(a) if len(b) == 0
= len(b) if len(a) == 0
= lev(a[1:], b[1:] if a[0] == b[0]
= 1 + min (lev(a, b[1:]), lev(a[1:], b), lev(a[1:], b[1:]))
https://en.wikipedia.org/wiki/Levenshtein_distance
I'm sure some optimizations could be made with heuristic."
Nicholas S. - "Definitely nice to think of this without memorization, but there is a well known algorithm for this problem, which is the Levenshtein Distance.
Lev(a,b) = len(a) if len(b) == 0
= len(b) if len(a) == 0
= lev(a[1:], b[1:] if a[0] == b[0]
= 1 + min (lev(a, b[1:]), lev(a[1:], b), lev(a[1:], b[1:]))
https://en.wikipedia.org/wiki/Levenshtein_distance
I'm sure some optimizations could be made with heuristic."See full answer
"
read_dir(path: str) -> list[str] returns the full path of all files and sub- directories of a given directory.
is_file(path: str) -> bool: returns true if the path points to a regular file.
is_dir(path: str) -> bool: returns true if the path points to a directory.
read_file(path: str) -> str: reads and returns the content of the file.
The algorithm: notice that storing all the file contents' is too space intensive, so we can't read all the files' contents to store and compare with each"
Idan R. - "
read_dir(path: str) -> list[str] returns the full path of all files and sub- directories of a given directory.
is_file(path: str) -> bool: returns true if the path points to a regular file.
is_dir(path: str) -> bool: returns true if the path points to a directory.
read_file(path: str) -> str: reads and returns the content of the file.
The algorithm: notice that storing all the file contents' is too space intensive, so we can't read all the files' contents to store and compare with each"See full answer
"As we can pass info to only one child at a time, I told that from any given node, we have to pass the info to that child(of this node) which has the largest subtree rooted at it. To calculate the subtree sizes, I used DFS. And then to calculate the minimum time to pass info to all the nodes, I used BFS picking the largest subtree child first at every node. I couldn't write the complete code in the given time and also made a mistake in telling the overall time complexity of my approach. I think t"
Lakshman B. - "As we can pass info to only one child at a time, I told that from any given node, we have to pass the info to that child(of this node) which has the largest subtree rooted at it. To calculate the subtree sizes, I used DFS. And then to calculate the minimum time to pass info to all the nodes, I used BFS picking the largest subtree child first at every node. I couldn't write the complete code in the given time and also made a mistake in telling the overall time complexity of my approach. I think t"See full answer