Hướng dẫn how do you find the top two maximum number of an array in php? - làm thế nào để bạn tìm thấy hai số lớn nhất của một mảng trong php?

Viết mã A & NBSP; PHP để tìm số lớn thứ hai trong mảng. Đưa ra một mảng chưa được phân loại, chúng tôi phải viết chương trình A & nbsp; php & nbsp; để tìm số lớn thứ hai trong một mảng.PHP code to find second largest number in array. Given an unsorted array, we have to write a PHP program to find the second largest number in an array.

Ngoài việc giải quyết vấn đề này. Chúng ta phải tập trung vào sự phức tạp về thời gian. Vì độ phức tạp về thời gian của một thuật toán là rất quan trọng về mức độ hiệu quả của thuật toán của bạn.

Ví dụ: hãy để Lừa lấy một mảng.

Đầu vào - ARR [] = {4, 9, 5, 2, 8, 0, 3, 22}

Đầu ra - 9

Yếu tố lớn thứ hai trong mảng này là 9.

Chúng tôi đã thảo luận về tuyên bố vấn đề. Hãy để suy nghĩ, làm thế nào chúng ta có thể giải quyết vấn đề này một cách hiệu quả? Có nhiều cách để giải quyết vấn đề này. Bạn thích cách tiếp cận nào và tại sao?

Cách tìm số lớn thứ hai trong mảng - mã PHP

Tiếp cận 1:

Một cách tiếp cận là sắp xếp một mảng. PHP cung cấp một số chức năng & nbsp; để sắp xếp một mảng. Sau khi phân loại, chọn phần tử có mặt ở vị trí N-2 trong đó N là kích thước của một mảng.

Độ phức tạp của thời gian của phương pháp này là O [nlogn].

functionsecondHighest[array$arr]{secondHighest[array$arr]{

    sort[$arr];sort[$arr];

    echo$arr[sizeof[$arr]-2];echo $arr[sizeof[$arr]-2];

}

secondHighest[array[4,9,5,2,8,0,3,22]];[array[4,9,5,2,8, 0,3,22]];

Lưu ý: Nếu yếu tố của một mảng được lặp lại thì phương pháp này đã giành được công việc.

Để hiểu khái niệm này, hãy để lấy một ví dụ.

int num [] = {1, 9, 5, 55, 8, -1, 3, 55};

Vì vậy, số nào sẽ là số cao thứ hai nếu chúng ta sử dụng phương thức ở trên [sắp xếp và chọn phần tử có ở chỉ mục N-2]. Phần tử là 55 là sai.

Tiếp cận 2:

Traverse một mảng và duy trì hai chỉ mục tối đa và tối đa thứ hai. Mã cho phương pháp này được viết dưới đây.

Mã PHP để tìm số lớn thứ hai trong & nbsp; một mảng

Ý tưởng ở đây là tìm số lớn thứ hai bằng cách sử dụng một vòng đơn. Để làm điều đó, khai báo hai biến tối đa và SecondMax. Ban đầu, gán chúng với giá trị tối thiểu có thể số nguyên [tính bằng PHP, chúng ta có thể làm điều đó bằng cách sử dụng PHP_INT_MIN].PHP_INT_MIN].

Trong mỗi lần lặp, so sánh giá trị có ở chỉ mục hiện tại với biến Max và SecondMax. Nếu giá trị hiện tại lớn hơn mức tối đa thì gán giá trị tối đa trong SecondMax và giá trị hiện tại trong biến tối đa.

Độ phức tạp của thời gian của phương pháp này là O [N].

Cách sắp xếp chuỗi trong PHP.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

/**

*

* @param mảng $ mảng

* @return số cao thứ hai của một mảng

*/

functionfindSecondMax[array$arr]{findSecondMax[array$arr]{

& nbsp; & nbsp; & nbsp; & nbsp; // nếu mảng trống thì hãy trả về//If array is empty then return

    if[empty[$arr]]{if[empty[$arr]] {

        return;return;

    }}

    /*/*

& nbsp; & nbsp; & nbsp; & nbsp; * Khởi tạo tối đa và tối đa thứ hai với giá trị âm

& nbsp; & nbsp; & nbsp; & nbsp; */

    $max=PHP_INT_MIN;$max= PHP_INT_MIN;

    $secondMax=PHP_INT_MIN;$secondMax=PHP_INT_MIN;

& nbsp; & nbsp; & nbsp; & nbsp; // Traverse một mảng//Traverse an array

& nbsp; & nbsp; & nbsp; & nbsp; foreach [$ mảng là $ number] {foreach[$arr as$number]{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ////If it's greater than the value of max

        if[$number>$max]{if[$number>$max]{

            $secondMax=$max;$secondMax=$max;

            $max=$number;$max=$number;

        }}

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp;//If array number is greater than secondMax and less than max

        if[$number>$secondMax&&$numberif[$number >$secondMax&&$number $ max2] {$ max2 = $ mảng [$ i]; }} echo "giá trị tối đa =".$array = array[5,7,81,0,12]; $max1 =0 ; $max2 = 0; for[$i=0; $i $max1] { $max2 = $max1; $max1 = $array[$i]; } else if[$array[$i] > $max2] { $max2 = $array[$i]; } } echo "Maximum value = ".

Làm thế nào để bạn tìm thấy số lượng tối đa tối đa của một mảng tối đa?

Lấy hai biến và khởi tạo chúng bằng không. Lặp qua từng phần tử của mảng và so sánh từng số với hai số này. Nếu số hiện tại lớn hơn maxone thì MaxOne = Number và MaxTwo = Maxone. Mặt khác, nếu nó chỉ lớn hơn MaxTwo thì chúng tôi chỉ cập nhật MaxTwo với số hiện tại.

Làm thế nào để bạn tìm thấy số cao nhất trong một mảng trong PHP?

Hàm tối đa [] của PHP được sử dụng để tìm giá trị tối đa bằng số trong một mảng hoặc giá trị tối đa bằng số của một số giá trị được chỉ định.Hàm Max [] có thể lấy một mảng hoặc một số số làm đối số và trả về giá trị tối đa bằng số giữa các tham số được truyền.

Làm thế nào để bạn tìm thấy tối đa và tối đa thứ hai của một mảng?

Tuyên bố một mảng có kích thước do người dùng xác định ..
Sử dụng cho vòng lặp, xác định các phần tử của mảng ..
Hãy coi phần tử đầu tiên của mảng là số lớn nhất đầu tiên [lưu trữ nó trong một biến, lớn nhất1] ..
Hãy coi phần tử thứ hai của mảng là số lớn thứ hai [lưu trữ nó trong một biến, lớn nhất2] ..

Bài Viết Liên Quan

Chủ Đề