"Without using a recursive approach, one can perform a post-order traversal by removing the parent nodes from the stack only if children were visited:
def diameterOfTree(root):
if root is None:
return 0
diameter = 0
stack = deque([[root, False]]) # (node, visited)
node_heights = {}
while stack:
curr_node, visited = stack[-1]
if visited:
heightleft = nodeheights.get(curr_node.left, 0)
heightright = nodehe"
Gabriele G. - "Without using a recursive approach, one can perform a post-order traversal by removing the parent nodes from the stack only if children were visited:
def diameterOfTree(root):
if root is None:
return 0
diameter = 0
stack = deque([[root, False]]) # (node, visited)
node_heights = {}
while stack:
curr_node, visited = stack[-1]
if visited:
heightleft = nodeheights.get(curr_node.left, 0)
heightright = nodehe"See full answer
"function serialize(list) {
for (let i=0; i 0xFFFF) {
throw new Exception(String ${list[i]} is too long!);
}
const prefix = String.fromCharCode(length);
list[i] = ${prefix}${list[i]};
console.log(list[i])
}
return list.join('');
}
function deserialize(s) {
let i=0;
const length = s.length;
const output = [];
while (i < length) {
"
Tiago R. - "function serialize(list) {
for (let i=0; i 0xFFFF) {
throw new Exception(String ${list[i]} is too long!);
}
const prefix = String.fromCharCode(length);
list[i] = ${prefix}${list[i]};
console.log(list[i])
}
return list.join('');
}
function deserialize(s) {
let i=0;
const length = s.length;
const output = [];
while (i < length) {
"See full answer
"python:
def justifywords(wordslist, width):
result = []
currlinechar_count = 0
curr_words = []
for word in words_list:
if curr_words:
space_needed = len(word) + 1 # Space needed for the word and a preceding space
else:
space_needed = len(word)
if currlinecharcount + spaceneeded > width:
result.append(' '.join(curr_words))
curr_words = [word]
currlinechar_count = len("
Anonymous Unicorn - "python:
def justifywords(wordslist, width):
result = []
currlinechar_count = 0
curr_words = []
for word in words_list:
if curr_words:
space_needed = len(word) + 1 # Space needed for the word and a preceding space
else:
space_needed = len(word)
if currlinecharcount + spaceneeded > width:
result.append(' '.join(curr_words))
curr_words = [word]
currlinechar_count = len("See full answer
"In python
def find_duplicates(arr1: List[int], arr2: List[int]) -> List[int]:
result = list(set(arr1) & set(arr2))
return result
"
Sammy R. - "In python
def find_duplicates(arr1: List[int], arr2: List[int]) -> List[int]:
result = list(set(arr1) & set(arr2))
return result
"See full answer
"In the question it says: "above the overall average total posts", which to me implying a >, yet in the solution it uses >=
Caused me 1 hr to find out. plz fix"
Peter W. - "In the question it says: "above the overall average total posts", which to me implying a >, yet in the solution it uses >=
Caused me 1 hr to find out. plz fix"See full answer
Data Engineer
Coding
+3 more
🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.
"def friend_distance(friends, userA, userB):
step = 0
total_neighs = set()
llen = len(total_neighs)
total_neighs.add(userB)
while len(total_neighs)!=llen:
s = set()
step += 1
llen = len(total_neighs)
for el in total_neighs:
nes = neighbours(friends, userA, el)
if userA in nes:
return step
for p in nes:
s.add(p)
for el in s:
total_neighs.add(el)
return -1
def neighbours(A,n1, n2):
out = set()
for i in range(len(A[n2])):
if An2:
out.add(i)
return out"
Batman X. - "def friend_distance(friends, userA, userB):
step = 0
total_neighs = set()
llen = len(total_neighs)
total_neighs.add(userB)
while len(total_neighs)!=llen:
s = set()
step += 1
llen = len(total_neighs)
for el in total_neighs:
nes = neighbours(friends, userA, el)
if userA in nes:
return step
for p in nes:
s.add(p)
for el in s:
total_neighs.add(el)
return -1
def neighbours(A,n1, n2):
out = set()
for i in range(len(A[n2])):
if An2:
out.add(i)
return out"See full answer
"with cte as (select
ts.employee_id,
e.name,
t.id as test_id,
max(distinct ts.score) as total
from
test_results as ts
join tests as t
on ts.test_id = t.id
join employees as e
on ts.employee_id = e.id
group by
ts.employee_id,
e.name,
t.id)
select
employee_id,
name as employee_name,
sum(total) as total_score
from
cte
group by
employee_id,
employee_name
order by
total_score desc,
employee_id asc
;"
Christian B. - "with cte as (select
ts.employee_id,
e.name,
t.id as test_id,
max(distinct ts.score) as total
from
test_results as ts
join tests as t
on ts.test_id = t.id
join employees as e
on ts.employee_id = e.id
group by
ts.employee_id,
e.name,
t.id)
select
employee_id,
name as employee_name,
sum(total) as total_score
from
cte
group by
employee_id,
employee_name
order by
total_score desc,
employee_id asc
;"See full answer
"First of all, stack and heap memory are abstraction on top of the hardware by the compiler. The hardware is not aware of stack and heap memory. There is only a single piece of memory that a program has access to. The compiler creates the concepts of stack and heap memory to run the programs efficiently.
Programs use stack memory to store local variables and a few important register values such as frame pointer and return address for program counter. This makes it easier for the compiler to gene"
Stanley Y. - "First of all, stack and heap memory are abstraction on top of the hardware by the compiler. The hardware is not aware of stack and heap memory. There is only a single piece of memory that a program has access to. The compiler creates the concepts of stack and heap memory to run the programs efficiently.
Programs use stack memory to store local variables and a few important register values such as frame pointer and return address for program counter. This makes it easier for the compiler to gene"See full answer
"1) select avg(session) from table where session> 180
2) select round(sessiontime/300)*300 as sessionbin, count() as sessioncount from table group by round(sessiontime/300)300 order by session_bin
3) SELECT t1.country AS country_a,
t2.country AS country_b
FROM (
SELECT country, COUNT(*) AS session_count
FROM yourtablename
GROUP BY country
) AS t1
JOIN (
SELECT country, COUNT(*) AS session_count
FROM yourtablename
`GROUP BY countr"
Erjan G. - "1) select avg(session) from table where session> 180
2) select round(sessiontime/300)*300 as sessionbin, count() as sessioncount from table group by round(sessiontime/300)300 order by session_bin
3) SELECT t1.country AS country_a,
t2.country AS country_b
FROM (
SELECT country, COUNT(*) AS session_count
FROM yourtablename
GROUP BY country
) AS t1
JOIN (
SELECT country, COUNT(*) AS session_count
FROM yourtablename
`GROUP BY countr"See full answer
"Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest.
import numpy as np
def knn(Xtrain, ytrain, X_new, k):
distances = np.linalg.norm(Xtrain - Xnew, axis=1)
k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort
return int(np.sum(ytrain[kindices]) > k / 2.0)
`"
Dinar M. - "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest.
import numpy as np
def knn(Xtrain, ytrain, X_new, k):
distances = np.linalg.norm(Xtrain - Xnew, axis=1)
k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort
return int(np.sum(ytrain[kindices]) > k / 2.0)
`"See full answer
"MOD = 10**9 + 7
def max_stability(reliability, availability):
max_stability = 1
for r, a in zip(reliability, availability):
Compute stability of the current server
stability = r * a
if stability != 0:
Multiply into max_stability and take modulo
maxstability = (maxstability * stability) % MOD
return max_stability
reliability = [1, 2, 2]
availability = [1, 1, 3]
print(max_stability(reliability, availability)) # Output the result mo"
K.nithish K. - "MOD = 10**9 + 7
def max_stability(reliability, availability):
max_stability = 1
for r, a in zip(reliability, availability):
Compute stability of the current server
stability = r * a
if stability != 0:
Multiply into max_stability and take modulo
maxstability = (maxstability * stability) % MOD
return max_stability
reliability = [1, 2, 2]
availability = [1, 1, 3]
print(max_stability(reliability, availability)) # Output the result mo"See full answer
"SELECT pro.id, pro.title, pro.budget, COUNT(employeeid) AS numemployees, SUM(e.salary) as total_salaries
FROM projects pro
JOIN employeesprojects ep ON ep.projectid = pro.id
JOIN employees e ON e.id = ep.employee_id
GROUP BY project_id;
`"
Zacharias E. - "SELECT pro.id, pro.title, pro.budget, COUNT(employeeid) AS numemployees, SUM(e.salary) as total_salaries
FROM projects pro
JOIN employeesprojects ep ON ep.projectid = pro.id
JOIN employees e ON e.id = ep.employee_id
GROUP BY project_id;
`"See full answer
"def mostefficientseqscore(parentheses, efficiencyratings):
mes = []
for i in range(len(parentheses)):
mes.append((parentheses[i], max(efficiency_ratings[i]))
return sum([m[1] for m in mes])
`"
Nathan C. - "def mostefficientseqscore(parentheses, efficiencyratings):
mes = []
for i in range(len(parentheses)):
mes.append((parentheses[i], max(efficiency_ratings[i]))
return sum([m[1] for m in mes])
`"See full answer
"public class CircularBuffer {
private T[] buffer;
private int head;
private int tail;
private int size;
private final int capacity;
public CircularBuffer(int capacity) {
this.capacity = capacity;
this.buffer = (T[]) new Object[capacity];
this.head = 0;
this.tail = 0;
this.size = 0;
}
public void enqueue(T item) {
if (isFull()) {
throw new IllegalStateException("Buffer is full");
}
buf"
Vidhyadhar V. - "public class CircularBuffer {
private T[] buffer;
private int head;
private int tail;
private int size;
private final int capacity;
public CircularBuffer(int capacity) {
this.capacity = capacity;
this.buffer = (T[]) new Object[capacity];
this.head = 0;
this.tail = 0;
this.size = 0;
}
public void enqueue(T item) {
if (isFull()) {
throw new IllegalStateException("Buffer is full");
}
buf"See full answer