Tìm số lớn thứ hai trong một mảng các số nguyên trong Java

Nhóm học lập trình

Để tìm số lớn thứ hai trong một mảng các số nguyên trong Java, ta có thể làm như sau:

  1. Khai báo một mảng số nguyên và gán giá trị cho các phần tử trong mảng.
  2. Khai báo hai biến max1max2 với giá trị ban đầu là số nhỏ nhất.
  3. Duyệt qua mảng và so sánh từng phần tử với max1, nếu phần tử lớn hơn max1, ta gán giá trị của max1 cho max2 và gán giá trị của phần tử đó cho max1.
  4. Nếu phần tử nằm giữa max1max2, ta gán giá trị của phần tử đó cho max2.
  5. Trả về giá trị của max2 sau khi duyệt hết mảng.

Đoạn code mẫu:

public class SecondLargestNumberInArray {
    public static void main(String[] args) {
        int[] arr = {5, 10, 15, 20, 25, 30, 35};
        int max1 = Integer.MIN_VALUE;
        int max2 = Integer.MIN_VALUE;

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > max1) {
                max2 = max1;
                max1 = arr[i];
            } else if (arr[i] > max2 && arr[i] != max1) {
                max2 = arr[i];
            }
        }

        System.out.println("Số lớn thứ hai trong mảng là: " + max2);
    }
}

Ở đây, ta khởi tạo max1max2 với giá trị ban đầu là Integer.MIN_VALUE để đảm bảo rằng mọi giá trị trong mảng đều lớn hơn max1max2. Tiếp theo, ta duyệt qua mảng và so sánh từng phần tử với max1. Nếu phần tử lớn hơn max1, ta gán giá trị của max1 cho max2 và gán giá trị của phần tử đó cho max1. Nếu phần tử nằm giữa max1max2, ta gán giá trị của phần tử đó cho max2. Cuối cùng, ta trả về giá trị của max2.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *