Hướng dẫn cho Biến đổi dãy nhị phân
Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.
Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.
Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.
Authors:
Thuật \(O(n^2)\)
Ta làm giống như bubble sort. Đi từ trái sang phải, nếu gặp 2 số liền kề là \(1\) và \(0\) thì hoán đổi chúng. Thực hiện thao tác trên \(n\) lần ta được một dãy tăng dần.
Thuật \(O(n)\)
Với mỗi số \(0\) ta cần đếm xem nó được hoán đổi bao nhiêu lần. Số lần nó được hoán đổi = số lượng số \(1\) đứng trước nó. Nói cách khác, đáp số = số lượng subsequence \("10"\) trong dãy.
Bình luận