Find the 2nd largest element in an array with minimum number of comparisons

后端 未结 24 1264
清酒与你
清酒与你 2020-11-28 01:03

For an array of size N, what is the number of comparisons required?

24条回答
  •  [愿得一人]
    2020-11-28 01:10

    PHP version of the Gumbo algorithm: http://sandbox.onlinephpfunctions.com/code/51e1b05dac2e648fd13e0b60f44a2abe1e4a8689

    $numbers = [10, 9, 2, 3, 4, 5, 6, 7];
    
    $largest = $numbers[0];
    $secondLargest = null;
    for ($i=1; $i < count($numbers); $i++) {
        $number = $numbers[$i];
        if ($number > $largest) {
            $secondLargest = $largest;
            $largest = $number;
        } else if ($number > $secondLargest) {
            $secondLargest = $number;
        }
    }
    
    echo "largest=$largest, secondLargest=$secondLargest";
    

提交回复
热议问题