Hey James, great video! Particularly, I like how clear and detailed your explanations are as well as the depth of knowledge you have surrounding the general programming approach. Since I run a tech education channel as well, I love to see fellow Content Creators sharing, educating, and inspiring a large global audience. Keep up the great work!
@shristisrivastava70542 ай бұрын
Very clear explanation. Thanks for posting this video.
@lvkaz2 жыл бұрын
This content is so underrated! Keep up the excellent work. I hope You will get a lot of recognition soon for such great explanations!
@vijayakumareyunni6010 Жыл бұрын
Excellent explanation and solution
@yashchoube576 Жыл бұрын
Best
@Adaetro2 жыл бұрын
Since array is ordered what if you stop the cycle when current abs_sum is higher then previous abs_sum? In the first example since abs_sum of [8 , 9, 10] = 3 and previous abs_sum of [7, 8, 9] = 2 then there is no point in calculating [9, 10, 13] since abs_sum is only going to increase from now on?
@Adaetro2 жыл бұрын
def find_closest_elements(arr, k, x): abs_list = list(map(lambda n:abs(n-x), arr)) prev_abs_sum = abs_sum_min = abs_sum = sum(abs_list[0:k]) min_i = 0 for i in range(1, len(arr)-k+1): abs_sum = abs_list[i+k-1] + abs_sum - abs_list[i-1] if prev_abs_sum < abs_sum: break if abs_sum < abs_sum_min: abs_sum_min = abs_sum min_i = i prev_abs_sum = abs_sum return arr[min_i:min_i+k], i #print number of loops print(find_closest_elements([5, 7, 8, 9, 10, 13], k=3, x=8))