"Question: An array of n integers is given, and a positive integer k, where k << n. k indicates that the absolute difference between each element's current index (icurrent) and the index in the sorted array (isorted) is less than k (|icurr - isorted| < k).
Sort the given array.
The most common solution is with a Heap:
def solution(arr, k):
min_heap = []
result = []
for i in range(len(arr))
heapq.heappush(min_heap, arr[i])
"
Guilherme M. - "Question: An array of n integers is given, and a positive integer k, where k << n. k indicates that the absolute difference between each element's current index (icurrent) and the index in the sorted array (isorted) is less than k (|icurr - isorted| < k).
Sort the given array.
The most common solution is with a Heap:
def solution(arr, k):
min_heap = []
result = []
for i in range(len(arr))
heapq.heappush(min_heap, arr[i])
"See full answer
"The goal is to balance parentheses in a given string by removing the fewest characters possible. The balanced string should ensure that each opening parenthesis ( has a corresponding closing parenthesis ) and that all pairs are properly nested.
Approach
To achieve this, we can use a combination of a stack and a set to track unmatched parentheses:
Stack: The stack will be used to record the indices of unmatched opening parentheses ( as we traverse the string.
Set: We will"
Victoria G. - "The goal is to balance parentheses in a given string by removing the fewest characters possible. The balanced string should ensure that each opening parenthesis ( has a corresponding closing parenthesis ) and that all pairs are properly nested.
Approach
To achieve this, we can use a combination of a stack and a set to track unmatched parentheses:
Stack: The stack will be used to record the indices of unmatched opening parentheses ( as we traverse the string.
Set: We will"See full answer
"Implemented a recursive function which returns the length of the list so far. when the returned value equals k + 1 , assign current.next = current.next.next. If I made it back to the head return root.next as the new head of the linked list."
דניאל ר. - "Implemented a recursive function which returns the length of the list so far. when the returned value equals k + 1 , assign current.next = current.next.next. If I made it back to the head return root.next as the new head of the linked list."See full answer
Software Engineer
Coding
+2 more
🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.
"Use a representative of each, e.g. sort the string and add it to the value of a hashmap> where we put all the words that belong to the same anagram together."
Gaston B. - "Use a representative of each, e.g. sort the string and add it to the value of a hashmap> where we put all the words that belong to the same anagram together."See full answer
"#simple solution
1.firstly find the node in the bst (O(logn) time complexity it take)
2.now removing the node consists of 3 cases:
1.if the node is leaf (no children):
(keep track of parent and do)
parent.left or parent.right=NULL
simply remove the node ()
2.if(has one child) replace the node with its child
3.if has both childs
we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove
the node wh"
Sambangi C. - "#simple solution
1.firstly find the node in the bst (O(logn) time complexity it take)
2.now removing the node consists of 3 cases:
1.if the node is leaf (no children):
(keep track of parent and do)
parent.left or parent.right=NULL
simply remove the node ()
2.if(has one child) replace the node with its child
3.if has both childs
we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove
the node wh"See full answer
"we can use two pointer + set like maintain i,j and also insert jth character to set like while set size is equal to our window j-i+1 then maximize our answer and increase jth pointer till last index"
Kishor J. - "we can use two pointer + set like maintain i,j and also insert jth character to set like while set size is equal to our window j-i+1 then maximize our answer and increase jth pointer till last index"See full answer
"create an empty maxheap
iterate through array
calculate distance between item and P
store item in maxheap using distance
take k top items from heap"
Nikolai S. - "create an empty maxheap
iterate through array
calculate distance between item and P
store item in maxheap using distance
take k top items from heap"See full answer
"A recursive backtracking solution in python.
def changeSigns(nums: List[int], S: int) -> int:
res = []
n = len(nums)
def backtrack(index, curr, arr):
if curr == S and len(arr) == n:
res.append(arr[:])
return
if index >= len(nums):
return
for i in range(index, n):
add +ve number
arr.append(nums[i])
backtrack(i+1, curr + nums[i], arr)
arr.pop()
"
Yugaank K. - "A recursive backtracking solution in python.
def changeSigns(nums: List[int], S: int) -> int:
res = []
n = len(nums)
def backtrack(index, curr, arr):
if curr == S and len(arr) == n:
res.append(arr[:])
return
if index >= len(nums):
return
for i in range(index, n):
add +ve number
arr.append(nums[i])
backtrack(i+1, curr + nums[i], arr)
arr.pop()
"See full answer
"class Node:
def init(self, value):
self.value = value
self.children = []
def inorder_traversal(root):
if not root:
return []
result = []
n = len(root.children)
for i in range(n):
result.extend(inorder_traversal(root.children[i]))
if i == n // 2:
result.append(root.value)
if n == 0:
result.append(root.value)
return result
Example usage:
root = Node(1)
child1 = Node(2)
chil"
Teddy Y. - "class Node:
def init(self, value):
self.value = value
self.children = []
def inorder_traversal(root):
if not root:
return []
result = []
n = len(root.children)
for i in range(n):
result.extend(inorder_traversal(root.children[i]))
if i == n // 2:
result.append(root.value)
if n == 0:
result.append(root.value)
return result
Example usage:
root = Node(1)
child1 = Node(2)
chil"See full answer
"/*
You are with your friends in a castle, where there are multiple rooms named after flowers. Some of the rooms contain treasures - we call them the treasure rooms.
Each room contains a single instruction that tells you which room to go to next.
* instructions1 and treasurerooms_1 *
lily* --------- daisy sunflower
| | |
v v v
jasmin --> tulip* violet* ----> rose* -->
^ | ^ ^ |
"
Azeezat R. - "/*
You are with your friends in a castle, where there are multiple rooms named after flowers. Some of the rooms contain treasures - we call them the treasure rooms.
Each room contains a single instruction that tells you which room to go to next.
* instructions1 and treasurerooms_1 *
lily* --------- daisy sunflower
| | |
v v v
jasmin --> tulip* violet* ----> rose* -->
^ | ^ ^ |
"See full answer
"Idea for solution:
Reverse the complete char array
Reverse the words separated by space. i.e. Find the space characters and the reverse the subarray between two space characters.
vector reverseSubarray(vector& arr, int s, int e)
{
while (s reverseWords(vector& arr )
{
int n = arr.size();
reverse(arr, 0, n - 1"
Rahul M. - "Idea for solution:
Reverse the complete char array
Reverse the words separated by space. i.e. Find the space characters and the reverse the subarray between two space characters.
vector reverseSubarray(vector& arr, int s, int e)
{
while (s reverseWords(vector& arr )
{
int n = arr.size();
reverse(arr, 0, n - 1"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
"Abstract class
A class that can have Abstract methods - without implementations and Concerete Methods i.e with implementation.
Can have private, protected and public access modifiers.
Supports Single inheritance i.e a class can extend only 1 abstract class
Can have constructors
Mainly used when sharing common behaviors
Interface Class
A collection of abstract methods ( can have static and default methods also - onwards of java 8)
Public, static, final are the access"
Sue G. - "Abstract class
A class that can have Abstract methods - without implementations and Concerete Methods i.e with implementation.
Can have private, protected and public access modifiers.
Supports Single inheritance i.e a class can extend only 1 abstract class
Can have constructors
Mainly used when sharing common behaviors
Interface Class
A collection of abstract methods ( can have static and default methods also - onwards of java 8)
Public, static, final are the access"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
"Let me try to explain it with simple life analogy
You're cooking dinner in the kitchen. Multithreading is when you've got a bunch of friends helping out. Each friend does a different job—like one chops veggies while another stirs a sauce. Everyone focuses on their task, and together, you all make the meal faster.
In a computer, it's like different jobs happening all at once, making stuff happen quicker, just like having lots of friends helping makes dinner ready faster."
Praveen D. - "Let me try to explain it with simple life analogy
You're cooking dinner in the kitchen. Multithreading is when you've got a bunch of friends helping out. Each friend does a different job—like one chops veggies while another stirs a sauce. Everyone focuses on their task, and together, you all make the meal faster.
In a computer, it's like different jobs happening all at once, making stuff happen quicker, just like having lots of friends helping makes dinner ready faster."See full answer