btvn.vn
Tìm kiếm Đăng nhập

Dừng sớm khi dữ liệu cho phép

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Kĩ thuật duyệt · Chọn bài khác

Thứ tự phải gắn với điều kiện dùng để loại

Trong bảng bài trước, dãy điểm Toán B đã không giảm. Để tìm tất cả mẫu có cả ba điểm >=9, có thể duyệt từ cuối về đầu. Khi gặp B[i]<9, các điểm Toán còn lại phía trước đều <=B[i]<9; không mẫu nào trong phần ấy thỏa cả ba điều kiện, nên được dừng. Nếu chỉ C[i]<9 hoặc D[i]<9 thì mới loại được hàng đang xét. Hai dãy ấy chưa được sắp xếp, nên không đủ căn cứ bỏ các hàng còn lại.

Chỉ break theo điểm Toán đã có thứ tự

```python def all_at_least_nine(names, B, C, D): result = [] for i in range(len(names) - 1, -1, -1): if B[i] < 9: break if C[i] >= 9 and D[i] >= 9: result.append(names[i]) return result ``` Với bảng mẫu: xét F và lấy F; xét E nhưng bỏ vì Vật lí 8,9; xét D và lấy D; xét C thấy Toán 8,8<9 thì dừng. Có4 lượt kiểm hàng, kết quả theo chiều duyệt là [Mẫu F,Mẫu D]. Không nói tìm tất cả lúc nào cũng phải đọc cả danh sách khi đã chứng minh phần còn lại không thể thỏa. Cần B không giảm và bốn dãy tương ứng trước khi dùng mã. B không giảm chưa làm điều kiện Toán > Vật lí hoặc tổng điểm trở thành một dãy có thứ tự để tìm nhị phân.

Bài luyện

Vì sao gặp Toán 8,8 ở Mẫu C khi duyệt ngược thì được dừng?
Chọn một đáp án

Bài luyện

Vì sao không dừng ngay ở Mẫu E có Vật lí 8,9?
Chọn một đáp án

Bài luyện

Mã trên với bảng sáu mẫu có bao nhiêu lượt kiểm hàng?
Chọn một đáp án

Đang học