Cho mảng các số nguyên arr và số nguyên k, bạn hãy tìm mảng con có tổng lớn nhất mà nhỏ hơn hoặc bằng k trong arr, với định nghĩa mảng con của arr là mảng chứa các phần tử liên tiếp nằm trong arr. Sau đó trả về tổng của mảng con này. Đầu vào luôn đảm bảo có ít nhất một mảng con có tổng nhỏ hơn hoặc bằng k. Ví dụ: Với arr = [1, 4, 1, 4, 5, 3], k = 7 thì output là maxSum(arr, k) = 6. Giải thích: mảng con có tổng lớn nhất mà nhỏ hơn hoặc bằng 7 trong arr là [1, 4, 1] và tổng của mảng này là 6. Ngoài ra không thể tìm được mảng con có tổng là 7. Với arr = [1, 2, 3, 4, 5], k = 11 thì output là maxSum(arr, k) = 10. Giải thích: mảng con có tổng lớn nhất mà nhỏ hơn hoặc bằng 11 là [1, 2, 3, 4] và tổng của mảng này là 10. Ngoài ra không thể tìm được mảng con có tổng là 11. Với arr = [2, 4, 6, 8], k = 7 thì output là maxSum(arr, k) = 6. Giải thích: hai mảng con có tổng lớn nhất là [2, 4] và [6]. Ngoài ra không thể tìm được mảng con có tổng là 7. Đầu vào/Đầu ra: [Thời gian chạy] 0.5s với C/C++, 3s với Java và C#, 4s với Python, Go và JavaScript. [Đầu vào] Array of Integer arr 1 <= arr.length <= 100000 1 <= arr[i] <= 100000 [Đầu vào] Integer k 1 <= k <= 109 [Đầu ra] Integer kết quả là tổng lớn nhất nhỏ hơn hoặc bằng k

1 câu trả lời

Bài này để nhanh nhất cần sử dụng phương pháp tổng tiền tố. Ý tưởng thuật toán: Tạo 1 mảng tổng tiền tố, xét tất cả các mảng con để tìm tổng lớn nhất bé hơn k.

Đây là code của mình bằng Pascal (raw: https://pastebin.com/CmwTVhMd).

Chúc bạn học tốt.

Câu hỏi trong lớp Xem thêm
5 lượt xem
2 đáp án
22 giờ trước

giup e voi I/ Supply the correct form of the verbs in brackets 1. You (think) ……………………… collecting stamps costs much money? 2. Every year, my mother (give) ……………………… me a nice doll on my birthday. 3. Jenny says she loves collecting pens but she (not/continue) ……………………… this hobby from next year. 4. If you wash your hands more, you (have)……………………. less chance of catching flu. 5. Getting plenty of rest is very good. It (help)…………………. you to avoid depression. 6. Mr. John (be) ……………………… principal of our school since last year. 7. I (see) ……………………… a car accident on this corner yesterday. 8. We like (come)……………………to school by bus, but we hate (stand)………………………. and (wait) …………………… in the rain. 9. ……………………… (you/ ever/ meet) anyone famous? 10. My mother (come) ……………………… to stay with us next weekend. 11. When he lived in Manchester, he (work) ……………………… in a bank. 12. We (be) ……………………… students for four years. 13. We are planting trees around our school now. Our school (be) ……………………… surrounded by a lot of green trees. 14. What ……………………… your father usually ……………………… (do) in the evenings? 15. My sister likes (cook) ……………………… very much. She can cook many good foods. 16. My father says when he's retired, he (go) …………………… back to his village to do the gardening. 17. They want (buy) ……………………… some meat for dinner. 18. Linh is my best friend. We (know) ……………………… each other for 5 years. 19. I enjoy (fish) ……………………… because it is relaxing. 20. How about (go) ……………………… to the movie theatre?

3 lượt xem
1 đáp án
1 ngày trước