Hàm sau đây trong Python thực hiện một thuật toán tìm kiếm:
| 1 | ${\rm{defSearch}}\left( {A,K} \right):$ |
|---|---|
| 2 | $n = {\rm{len}}\left( A \right)$ |
| 3 | for i in range $\left( {n - 1} \right):$ |
| 4 | for j in range $\left( {i + 1,n} \right):$ |
| 5 | if $A\left[ i \right] + A\left[ j \right] = = K:$ |
| 6 | return True |
| 7 | return False |
Lời giải chi tiết
Giải thích nội dung các mệnh đề và chỉ ra các mệnh đề đúng hoặc sai như sau:
True nếu tồn tại ít nhất một bộ dữ liệu (cặp số) có tổng bằng K mà không liệt kê tất cả các bộ dữ liệu như mô tả. Hàm khi gặp cặp số đầu tiên thỏa mãn điều kiện sẽ trả về kết quả ngay lập tức và không tiếp tục kiểm tra các cặp số khác.Chú ý khi giải
True ngay khi tìm thấy cặp giá trị đầu tiên thỏa mãn điều kiện. Để tìm tất cả, cần duyệt hết mà không dừng ngay.