Lập trình cạnh tranhDễ dàng

Đếm số 1 trong mảng nhị phân

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Đếm 1 số trong mảng nhị phân'.

Tuyên bố vấn đề

Dễ dàng

Viết hàm count_ones(arr) nhận vào một mảng nhị phân arr được sắp xếp theo thứ tự giảm dần (trong đó tất cả các số 1 xuất hiện trước tất cả các số 0) và trả về số lượng số 1 trong mảng. Giải pháp của bạn sẽ chạy trong thời gian O(log n).

Ràng buộc
  • 0 <= len(arr) <= 10^5
  • arr[i] is either 0 or 1

Ví dụ

Example 1
Input
count_ones([1, 1, 1, 1, 0, 0, 0])
Output
4
Explanation

There are four 1s at the beginning of the array.

Example 2
Input
count_ones([1, 1, 0, 0, 0])
Output
2
Explanation

There are two 1s at the beginning of the array.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Tìm kiếm & Sắp xếp như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.