Trang chủ Tin Học Lớp 12 Cho một mảng arr chứa thông tin độ cao của...

Cho một mảng arr chứa thông tin độ cao của các cột. Hãy chọn ra 2 trụ trong mảng để có thể chứa được lượng nước lớn nhất trong tất cả trụ đó, và lượng nước chứ

Câu hỏi :

Cho một mảng arr chứa thông tin độ cao của các cột. Hãy chọn ra 2 trụ trong mảng để có thể chứa được lượng nước lớn nhất trong tất cả trụ đó, và lượng nước chứa được lớn nhất sẽ là bao nhiêu Ví dụ: Với arr = [1,8,6,2,5,4,8,3,7]. Đầu ra maxWater(arr) = 49. Giải thích: Chọn ra 2 trụ độ cao 8 ở vị trí 1 và 7 ở vị trí 8 thì diện tích thu được lớn nhất là 49. Đầu vào/Đầu ra: [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript. [Đầu vào] Array of integer arr. 2

Lời giải 1 :

Python 2:

def maxWater(arr):
    left = 0
    right = len(arr) - 1
    res = 0
    while left < right:
        res = max(res, min(arr[left], arr[right]) * (right - left))
        if arr[left] < arr[right]:
            left += 1
        else:
            right -= 1
    return res

Thảo luận

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 12

Lớp 12 - Năm cuối ở cấp tiểu học, năm học quan trọng nhất trong đời học sinh trải qua bao năm học tập, bao nhiêu kì vọng của người thân xung quanh ta. Những nỗi lo về thi đại học và định hướng tương lai thật là nặng. Hãy tin vào bản thân là mình sẽ làm được rồi tương lai mới chờ đợi các em!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK