Yashraj1402's blog

By Yashraj1402, history, 4 months ago, In English

The article in discussion is Find the largest three elements in an array in c++

Method 1 as given in the article (standard 3 variable approach)

But its implementation has a mistake. When they declare the 3 variables (max, max2, max3) they initialize them as:

int max, max2, max3;
max3 = max = max2 = arr[0];

This works fine until the first element of the array (arr[0]) is the greatest element, then there will be no arr[i] which satisfies any of the deciding conditions, which are:

arr[i] > max
arr[i] > max2
arr[i] > max3

Hence, if the first element of the array is the greatest element then max, max2, max3 will be equal to that element to fix this we can just initialize max, max2, max3 with a low infinity like INT_MIN, etc.

  • Vote: I like it
  • -19
  • Vote: I do not like it

»
4 months ago, # |
  Vote: I like it +15 Vote: I do not like it

I recommend avoiding tutorialspoint entirely. It is largely a content farm.