Câu hỏi:

13/07/2024 406 Lưu

Công việc sau đây, nếu có sẽ thuộc nhóm công việc nào? Nhập một giá trị số nào đó, ví dụ K, cần tìm trong danh sách các mặt hàng có doanh số xấp xỉ K (hơn kém nhau không quá hằng số C=1).

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Công việc này sẽ thuộc vào nhóm công việc liên quan đến Tìm kiếm và Lọc dữ liệu.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

Chương trình sử dụng thuật toán tìm kiếm nhị phân để tìm mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất trong danh sách mặt hàng đã được sắp xếp theo thứ tự tăng dần của doanh số.

def find_nearest_item(arr, K):

    # Sắp xếp danh sách mặt hàng theo thứ tự tăng dần của doanh số

    arr.sort()

    low, high = 0, len(arr) - 1

    result = None

    while low <= high:

        mid = (low + high) // 2 # Tính giá trị trung bình mid của low và high

        if arr[mid] < K:

            # Nếu giá trị doanh số của mặt hàng ở vị trí mid nhỏ hơn K

            # Đặt low = mid + 1 để tìm phần tử lớn hơn K

            low = mid + 1

        elif arr[mid] > K:

            # Nếu giá trị doanh số của mặt hàng ở vị trí mid lớn hơn K

            # Đặt high = mid - 1 để tìm phần tử nhỏ hơn K

            high = mid – 1

else:

            # Nếu giá trị doanh số của mặt hàng ở vị trí mid bằng K

            # Trả về mid làm kết quả

            result = mid

            break

        # Cập nhật giá trị gần K nhất

        if result is None or abs(arr[mid] - K) < abs(arr[result] - K):

            result = mid

    return arr[result]

# Example usage

arr = [10, 20, 30, 40, 50, 60, 70, 80, 90]

K = 45

nearest_item = find_nearest_item(arr, K)

print("Mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất là:", nearest_item)

Lời giải

Chương trình trên được thiết kế có 3 mô đun

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP