"I first asked few clarifying questions like the return array may need not contain the list of building in the same order, to which the interviewer agreed.
Then I came up with an approach where we iterate the array from right to left and keep a max variable which will keep the value of the current max. When we find an item which is greater than max we update the max and add this element into our solution. The interviewer agreed for the approach.
I discussed few corner scenarios with the interview"
Rishabh N. - "I first asked few clarifying questions like the return array may need not contain the list of building in the same order, to which the interviewer agreed.
Then I came up with an approach where we iterate the array from right to left and keep a max variable which will keep the value of the current max. When we find an item which is greater than max we update the max and add this element into our solution. The interviewer agreed for the approach.
I discussed few corner scenarios with the interview"See full answer
Software Engineer
Data Structures & Algorithms
+1 more
🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.
"Leetcode 347: Heap + Hashtable
Follow up question: create heap with the length of K instead of N (more time complexity but less space )"
Chen J. - "Leetcode 347: Heap + Hashtable
Follow up question: create heap with the length of K instead of N (more time complexity but less space )"See full answer
" First, sort the array in ascending order. This ensures that we can easily check the triangle inequality condition. Use a loop to iterate through the array. For each triplet of consecutive elements, check if they satisfy the triangle inequality condition a+b>ca+b>c. As soon as you find a valid tuple, return it. If no valid tuple is found, return null. This approach is efficient with a time complexity of O(nlogn)O(nlogn) due to the sorting step, followed by a linear scan of the array"
Shivam P. - " First, sort the array in ascending order. This ensures that we can easily check the triangle inequality condition. Use a loop to iterate through the array. For each triplet of consecutive elements, check if they satisfy the triangle inequality condition a+b>ca+b>c. As soon as you find a valid tuple, return it. If no valid tuple is found, return null. This approach is efficient with a time complexity of O(nlogn)O(nlogn) due to the sorting step, followed by a linear scan of the array"See full answer
"I try to solve this initially using quick select where will take a pivot element and position the remaining elements and check if the current index is answer or not and continue the same but it requires o(n*n), but interviewee is expecting the best from me, so at the end i tried solving using heaps where will check the difference between k and n-k to use min or max heap after that we will heap the array, and will keep popping the element k-1 and return the peek one which leads to answer."
Mourya C. - "I try to solve this initially using quick select where will take a pivot element and position the remaining elements and check if the current index is answer or not and continue the same but it requires o(n*n), but interviewee is expecting the best from me, so at the end i tried solving using heaps where will check the difference between k and n-k to use min or max heap after that we will heap the array, and will keep popping the element k-1 and return the peek one which leads to answer."See full answer
"Race Condition i,e multiple threads modifying simultaneously can lead to data inconsistency
Operations like putIfAbsent() or computeIfAbsent() are not atomoic i.e duplicate entries or missing updates when multiple threads perform operations
Data Corruption : during resizing of a hashmap by a thread, if another thread is accessing the same data , buckets can get corrupted, leading to a loss of data"
Sue G. - "Race Condition i,e multiple threads modifying simultaneously can lead to data inconsistency
Operations like putIfAbsent() or computeIfAbsent() are not atomoic i.e duplicate entries or missing updates when multiple threads perform operations
Data Corruption : during resizing of a hashmap by a thread, if another thread is accessing the same data , buckets can get corrupted, leading to a loss of data"See full answer
"filter function usually exists in some high level programming that adopt FP paradigm.
It taks a sequence of items and a predicate function, and returns (conceptually) a subset of the items that satisfy the predicate.
Adopt this kind of operation (filter, map, reduce, take, pairwise ...) can help writting
cleaner code, and reduce the usage of mutable part in the program, lower the
possibility of making human mistake.
Take Python for example (although const-ness is not exists in Python),
assu"
Weida H. - "filter function usually exists in some high level programming that adopt FP paradigm.
It taks a sequence of items and a predicate function, and returns (conceptually) a subset of the items that satisfy the predicate.
Adopt this kind of operation (filter, map, reduce, take, pairwise ...) can help writting
cleaner code, and reduce the usage of mutable part in the program, lower the
possibility of making human mistake.
Take Python for example (although const-ness is not exists in Python),
assu"See full answer
"Count how many 1 and 2. calculate how many remaining items with '0'. Override existing data with knowledge of how many '0','1','2' in that order; TC=O(n), SC=O(1)"
Konstantin P. - "Count how many 1 and 2. calculate how many remaining items with '0'. Override existing data with knowledge of how many '0','1','2' in that order; TC=O(n), SC=O(1)"See full answer