Trang chủ » Blog » [Thực hành] Tìm giá trị nhỏ nhất của mảng

[Thực hành] Tìm giá trị nhỏ nhất của mảng

bởi CodeGym | 26/12/2023 17:16 | Bài thực hành | Blog

Mục tiêu

Tìm giá trị nhỏ nhất của mảng- luyện tập tạo và sử dụng hàm, truyền mảng vào hàm.

Mô tả bài toán- tìm giá trị nhỏ nhất của mảng

Xây dựng hàm nhận vào một tham số là một mảng cho trước. Hàm thực hiện tìm giá trị nhỏ nhất trong mảng và trả về giá trị đó. Sử dụng hàm vừa xây dựng trên với mảng như sau:

arr1: [3, 5, 1, 8, -3, 7, 8]

arr2: [7, 12, 6, 9, 20, 56, 89]

arr3: []

arr4: [0, 0, 0, 0, 0, 0]

Để hoàn thành bài thực hành, bạn cần:

  • Đưa mã nguồn lên GitHub
  • Dán link của repository lên phần nộp bài trên CodeGymX

Hướng dẫn

Bước 1: Xây dựng hàm

Các bước thực thi trong hàm:

  • Giả sử phần tử đầu tiên trong mảng là giá trị nhỏ nhất. Gán giá trị của phần tử này cho biến min.
  • Duyệt mảng từ phần tử tiếp theo. Kiểm tra nếu giá trị của phần tử tiếp theo trong mảng nhỏ hơn min thì gán min = arr[i] (với i ở vị trí của phần tử tiếp theo)
  • Kết thúc duyệt mảng, tìm được giá trị min trong mảng. Hàm trả về giá trị min đó.

Code mẫu như sau:

function minArray(arr) {
    let min = arr[0];
    for(var i = 1; i < arr.length; i++){
        if(arr[i] < min){
            min = arr[i];
        }
    }
    return min;
}

Bước 2: Sử dụng hàm

let arr1 = [3, 5, 1, 8, -3, 7, 8];
 let min = minArray(arr1);
 alert(min);

Bước 3: Chạy chương trình. Quan sát kết quả.

Bước 4: Tương tự với mảng được khởi tạo các phần tử mặc định

arr2: [7, 12, 6, 9, 20, 56, 89]

arr3: []

arr4: [0, 0, 0, 0, 0, 0]

Bước 5: Với mảng không có phần tử nào sửa lại hàm minArray để kiểm tra số phần tử trong mảng.

Nếu độ dài mảng bằng 0. Thì trả về -1.

function minArray(arr) {
    if(arr.length == 0)
        return -1;
    let min = arr[0];

    for(let i = 1; i < arr.length; i++){
        if(arr[i] < min){
            min = arr[i];
        }
    }
    return min;
}

Vậy khi hàm trả về giá trị -1 ta hiểu rằng mảng này đang rỗng.

Mở rộng: Tuy nhiên có trường hợp xảy ra là nếu trong mảng có phần tử -1 là phần tử nhỏ nhất thì sẽ xử lý thế nào?

Gợi ý: Cần xây dựng lại hàm trên. Không phải trả về giá trị min trong mảng, mà trả về vị trí của phần tử trong mảng. Do đó, nếu hàm trả về -1 tức là mảng rỗng.

Trên đây CodeGym đã cùng với bạn luyện tập sử dụng hàm, truyền mảng vào hàm. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!

Download - Giáo trình thuật toán

15 + 10 =

Tags:

0 Lời bình

Gửi Lời bình

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 *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

4 + 3 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM