✨Bài toán mảng con lớn nhất

Bài toán mảng con lớn nhất

Trong khoa học máy tính, bài toán tìm mảng con lớn nhất là bài toán tìm một mảng con liên tục của một mảng một chiều chứa cả số dương và số âm sao cho mảng con này có tổng các phần tử là lớn nhất. Ví dụ: mảng −2, 1, −3, 4, −1, 2, 1, −5, 4 có mảng con lớn nhất là 4, −1, 2, 1 với tổng là 6.

Thuật toán Kadane

Thuật toán Kadane quét qua các phần tử của mảng, tính tại từng vị trí tổng lớn nhất có thể của các mảng con kết thúc tại vị trí đó. Mảng con này có thể rỗng khi tổng của các phần tử bằng 0 hoặc có thể chứa nhiều hơn một phần tử so với mảng con lớn nhất tại vị trí trước đó.

Thuật toán của chương trình được viết bằng ngôn ngữ Python.

def max_subarray(A): max_ending_here = max_so_far = 0 for x in A: max_ending_here = max(0, max_ending_here + x) max_so_far = max(max_so_far, max_ending_here) return max_so_far

Thuật toán này tính toán dựa trên cấu trúc con tối ưu (mảng con lớn nhất tại một vị trí được tính toán đơn giản từ các bài toán con nhỏ hơn là mảng con lớn nhất tại vị trí trước đó) nên thuật toán này thuộc dạng bài toán quy hoạch động.

Tổng quát hóa

Bài toán này có thể được tổng quát hóa lên các mảng nhiều chiều hơn. Tuy nhiên khi đó việc giải bài toán sẽ phức tạp hơn.

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong khoa học máy tính, **bài toán tìm mảng con lớn nhất** là bài toán tìm một mảng con liên tục của một mảng một chiều chứa cả số dương và số âm sao cho
Trong đồ thị này, đường đi rộng nhất từ Maldon tới Feering có chiều rộng 29, và đi qua Clacton, Tiptree, Harwich, và Blaxhall. **Bài toán đường đi rộng nhất**, còn gọi là **bài toán
Ví dụ về một bài toán xếp ba lô giới hạn 1 chiều: chọn các hộp nào để tổng giá trị các hộp trong ba lô là lớn nhất mà tổng khối lượng dưới 15 kg?
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
nhỏ|Nếu người bán hàng xuất phát từ điểm A, và nếu khoảng cách giữa hai điểm bất kì được biết thì đâu là đường đi ngắn nhất mà người bán hàng có thể thực hiện
**Các bài toán của Hilbert** là một danh sách gồm 23 vấn đề (bài toán) trong toán học được nhà toán học Đức David Hilbert đưa ra tại Hội nghị toán học quốc tế tại
Biểu diễn đồ thị của bài toán vận tải Trong toán học, **Bài toán vận tải** (tiếng Anh: _transportation problem_) là một dạng của bài toán quy hoạch tuyến tính. Bài toán vận tải có
Bài viết này là **danh sách các thuật toán** cùng một mô tả ngắn cho mỗi thuật toán. ## Thuật toán tổ hợp ### Thuật toán tổ hợp tổng quát * Thuật toán Brent: tìm
**Con lợn** hay **con heo** là loài vật đã gắn bó lâu đời với con người và xung quanh đó là nhiều câu chuyện trong văn hóa đại chúng về con lợn. Trong văn hóa,
**Tấn**, hay còn gọi là Tú lơ khơ hoặc gọi tắt là bài Tú, là cách chơi bài truyền thống của Nga, du nhập vào Việt Nam, được chơi bởi 2-4 người. Đây là một
**_Bài toán 3 vật thể_** (tựa gốc tiếng Anh: **_3 Body Problem_**) là một series phim truyền hình thể loại khoa học viễn tưởng của Mỹ do David Benioff, D. B. Weiss và Alexander Woo
phải|nhỏ|Bản đồ vị trí vịnh Con Lợn. **Sự kiện Vịnh Con Lợn** (còn có tên là **La Batalla de Girón**, hoặc **Playa Girón** ở Cuba) hay **Trận chiến Girón** (đọc là _Hi-rôn_), là một chiến
Trong giáo dục, **Tư duy tính toán** hay **Tư duy máy tính** (Computational Thinking - CT) là một tập hợp các phương pháp giải quyết vấn đề liên quan đến việc diễn đạt các vấn
Nhiều doanh nghiệp truyền thống vẫn đang loay hoay với bài toán chuyển đổi số khi phải đối mặt với nhiều thách thức như chi phí đầu tư, thiếu chuyên môn công nghệ và sự
_Cuốn [[The Compendious Book on Calculation by Completion and Balancing_]] Từ _toán học_ có nghĩa là "khoa học, tri thức hoặc học tập". Ngày nay, thuật ngữ "toán học" chỉ một bộ phận cụ thể
| religion_year = 2018 | religion_ref = | regional_languages = | demonym = | ethnic_groups = | ethnic_groups_year = 2016 | ethnic_groups_ref = | capital = Tokyo (de facto) | largest_city = Tập tin:PrefSymbol-Tokyo.svg Tokyo
Tập tin:Pack of playing cards whitebg.jpg **Bộ bài Tây** (ở miền Bắc Việt Nam còn gọi là **tú lơ khơ** hoặc bộ **tú**) - bao gồm có 54 lá bài (có bộ bài chỉ có
**Âm nhạc Nhật Bản** bao gồm nhiều thể loại với nhiều cách thể hiện khác nhau trong cả âm nhạc hiện đại lẫn truyền thống. Âm nhạc trong tiếng Nhật gọi là 音楽 (_ongaku_), là
**Thuật ngữ văn học Nhật Bản** được trình bày theo thứ tự abc dưới đây là một số thuật ngữ, khái niệm, danh từ riêng thường gặp trong văn học Nhật Bản, bao gồm trong
"**Umbrella**" là một bài hát được thu âm bởi nữ ca sĩ người Barbados Rihanna, hợp tác cùng nam rapper người Mỹ Jay-Z. Bài hát được sáng tác bởi The-Dream, Tricky Stewart, Kuk Harrell và
"**Born This Way**" (tạm dịch: _Sinh ra như thế_) là một ca khúc chủ đề và cũng là đĩa đơn đầu tiên trích từ album phòng thu thứ hai cùng tên của nữ ca sĩ
**Omaha**, hay **Bãi Omaha**, là định danh của một trong năm khu vực đổ bộ của quân đội Đồng Minh trong Chiến dịch Neptune - chiến dịch đổ bộ đường biển kết hợp đường không
**Lịch sử Nhật Bản** bao gồm lịch sử của quần đảo Nhật Bản và cư dân Nhật, trải dài lịch sử từ thời kỳ cổ đại tới hiện đại của quốc gia Nhật Bản. Các
**Chiến tranh thế giới thứ nhất**, còn được gọi là **Đại chiến thế giới lần thứ nhất**, **Đệ nhất Thế chiến** hay **Thế chiến I**, là một cuộc chiến tranh thế giới bắt nguồn tại
**Côn trùng** hay còn gọi là **sâu bọ**, là một lớp sinh vật thuộc về ngành động vật không xương sống, chúng có bộ xương ngoài làm bằng kitin. Cơ thể chúng có ba phần
phải|nhỏ|[[Lưu đồ thuật toán (thuật toán Euclid) để tính ước số chung lớn nhất (ưcln) của hai số _a_ và _b_ ở các vị trí có tên A và B. Thuật toán tiến hành bằng
**Lý thuyết độ phức tạp tính toán** (tiếng Anh: _computational complexity theory_) là một nhánh của lý thuyết tính toán trong lý thuyết khoa học máy tính và toán học tập trung vào phân loại
**Tỳ linh Nhật Bản** ( _Nihon kamoshika_, , danh pháp hai phần: _Capricornis crispus_) là một loài động vật có hình dạng nửa giống dê nửa giống linh dương, thuộc lớp thú guốc chẵn. Địa
nhỏ|[[Murasaki Shikibu đã viết tác phẩm nhật ký của mình trong khoảng thời gian từ năm . Bà đã được mô tả trong bức vẽ năm của Komatsuken.]] là một tiêu đề chung cho tất
là một ngôn ngữ Đông Á được hơn 125 triệu người sử dụng ở Nhật Bản và những cộng đồng dân di cư Nhật Bản khắp thế giới. Tại Việt Nam nó cũng là một
nhỏ|Các mảng kiến tạo trên thế giới được vẽ vào nửa sau của thế kỷ 19. **Kiến tạo mảng** (tiếng Anh: **plate tectonics**; tiếng Hy Lạp: τέκτων _tektōn_, nghĩa là "người xây dựng", "thợ nề")
"**Love Story**" là một bài hát của nữ ca sĩ kiêm nhạc sĩ sáng tác bài hát người Mỹ Taylor Swift, được hãng đĩa Big Machine Records phát hành làm đĩa đơn mở đường cho
**Chiến tranh Nhật Bản – Triều Tiên**, còn gọi là **Chiến tranh Triều - Nhật** (hangul: 조일전쟁, hanja: 朝日戰爭, _Joil jeonjaeng_) hay **Chiến dịch Văn Lộc - Khánh Trường** (kanji: 文禄・慶長の役, hiragana: ぶんろく・けいちょうのえき, _Bunroku・Keichō no
**Hải quân Đế quốc Nhật Bản** (kanji cổ: 大日本帝國海軍, kanji mới: 大日本帝国海軍, romaji: _Dai-Nippon Teikoku Kaigun_, phiên âm Hán-Việt: **_Đại Nhật Bản Đế quốc Hải quân_**), tên chính thức **Hải quân Đế quốc Đại Nhật
**Danh sách các sự kiện trong lịch sử Nhật Bản** ghi lại các sự kiện chính trong lịch sử Nhật Bản theo thứ tự thời gian. ## Cổ đại ### Thời kỳ đồ đá cũ
**Lợn rừng lai** hay **Heo rừng lai** (_Sus scrofa_ x _Sus scrofa domesticus_) là một giống lai giữa một con lợn rừng và lợn nhà. Thông thường, lợn rừng lai là con lai giữa lợn
là một ban nhạc rock toàn thành viên nữ người Nhật Bản đến từ Osaka. Nhóm do bốn cô nữ sinh trung học thành lập vào tháng 8 năm 2006, họ biểu diễn nhạc sống
**_Trò chơi con mực_** (Hangul: , tiếng Anh: _Squid Game_) là một bộ phim truyền hình Hàn Quốc do Hwang Dong-hyuk viết kịch bản và đạo diễn. Phim được Netflix phát hành trực tuyến vào
**Sân bay quốc tế Tân Sơn Nhất** (tên giao dịch chính thức: **Cảng hàng không quốc tế Tân Sơn Nhất**; IATA: **SGN**; ICAO: **VVTS**) là sân bay quốc tế lớn nhất Việt Nam hiện tại.
"**Imagine**" là một ca khúc do nam ca sĩ kiêm sáng tác nhạc người Anh John Lennon thể hiện. Đây là đĩa đơn bán chạy nhất trong sự nghiệp solo của ông, lời bài hát
**Logic toán** là một ngành con của toán học có liên hệ gần gũi với cơ sở toán học, khoa học máy tính lý thuyết, logic triết học. Ngành này bao gồm hai phần: nghiên
**Lịch sử quân sự Nhật Bản** mô tả cuộc chiến tranh phong kiến kéo dài nhằm tiến tới việc ổn định trong nước, sau đó cùng với việc viễn chinh ra bên ngoài cho tới
"**Try**" là một bài hát của ca sĩ - nhạc sĩ thu âm người Mỹ Pink, phát hành dưới dạng đĩa đơn thứ 2 trích từ album phòng thu thứ sáu của cô ấy, The
nhỏ|phải|Một con lợn rừng bị bắn hạ **Săn lợn rừng** hay **săn heo rừng** hay **thú săn lợn rừng**, **thú săn heo rừng** nói chung là việc thực hành săn bắn các loại lợn rừng
**Triết học toán học** là nhánh của triết học nghiên cứu các giả định, nền tảng và ý nghĩa của toán học, và các mục đích để đưa ra quan điểm về bản chất và
phải|nhỏ|250x250px|[[Pallet và các lá bài]] **Baccarat** hay **baccara** (; ) là một trò chơi bài chơi tại Casino. Baccarat là cách phát âm tiếng Pháp của Người Ý cho từ "Số 0". Đây là một
"**Dynamite**" là một bài hát của nhóm nhạc nam Hàn Quốc BTS, được phát hành vào ngày 21 tháng 8 năm 2020, thông qua Big Hit Entertainment và Sony Music Entertainment. Nó là bài hát
Một **mô hình toán học** là một mô hình trừu tượng sử dụng ngôn ngữ toán để mô tả về một hệ thống. Mô hình toán được sử dụng nhiều trong các ngành khoa học
Đế quốc Nhật Bản. Cho tới trước khi [[Chiến tranh thế giới thứ hai kết thúc, thuộc địa của Nhật tại vùng Đông Á đã tăng gấp gần **5 lần** diện tích quốc gia]] là
thumb|Sự tăng trưởng và số hóa các khả năng lưu trữ thông tin trên toàn cầu **Dữ liệu lớn** (Tiếng Anh: **Big data**) là một thuật ngữ cho việc xử lý một tập hợp dữ