Giá trị lớn nhất cửa sổ trượt
Tìm giá trị lớn nhất trong mỗi cửa sổ số đầy đủ có độ rộng cố định.
from collections import deque
from math import isfinite
def window_max(values, width):
if type(width) is not int or not 1 <= width <= len(values):
raise ValueError("width")
if not all(map(isfinite, values)): raise ValueError("finite values")
queue, result = deque(), []
for i, value in enumerate(values):
while queue and queue[0] <= i - width: queue.popleft()
while queue and values[queue[-1]] <= value: queue.pop()
queue.append(i)
if i >= width - 1: result.append(values[queue[0]])
return result| Kiểm tra trước khi áp dụng | So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp. |
|---|---|
| Mô hình | Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng. |
| Dự án | Kiểm tra cực đại lặp, số âm và biên độ rộng, từ chối số không hữu hạn và độ rộng ngoài chiều dài đầu vào. |
from collections import deque
from math import isfinite
def window_max(values, width):
if type(width) is not int or not 1 <= width <= len(values):
raise ValueError("width")
if not all(map(isfinite, values)): raise ValueError("finite values")
queue, result = deque(), []
for i, value in enumerate(values):
while queue and queue[0] <= i - width: queue.popleft()
while queue and values[queue[-1]] <= value: queue.pop()
queue.append(i)
if i >= width - 1: result.append(values[queue[0]])
return resultGiữ thay đổi phép tính gắn với đầu ra
WindowRidge là không gian lập trình AI trên Windows để trao đổi thay đổi trong bối cảnh dự án sẽ sử dụng chúng. Bắt đầu từ đầu ra ứng dụng mong đợi và xác định mã nguồn tạo ra nó. Yêu cầu mô hình kết nối kiểm tra đường xử lý hiện tại trước khi đề xuất thay thế, để chi tiết triển khai luôn gắn với yêu cầu nhìn thấy được.
Phép tính cực đại trên cửa sổ có độ rộng cố định là nhiệm vụ hữu ích. Quy định mỗi kết quả tương ứng với một cửa sổ hoàn chỉnh và kèm nơi gọi liên kết kết quả với vị trí đầu vào. Trao đổi cực đại lặp, giá trị âm và giới hạn độ rộng hợp lệ trước khi yêu cầu sửa. Điều đó tạo quy ước rà soát vượt ra ngoài việc lấy số lớn nhất trong mẫu ngắn.
Dùng kiểm thử dự án để đối chiếu đầu ra đề xuất với dữ liệu kiểm thử cụ thể. Kiểm tra số lượng và sự căn chỉnh kết quả cùng giá trị, kể cả độ rộng bằng một và bằng độ dài đầu vào. Nếu thay đổi nhằm cải thiện hiệu quả, đo trên khối lượng công việc của bạn thay vì suy ra bảo đảm tốc độ từ cách triển khai khác.
Kết nối điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ để chọn mô hình cho WindowRidge. Nhà cung cấp đó có thể có mô hình AI không hạn chế, với thông tin xác thực khi cần. Hành vi mô hình, dung lượng ngữ cảnh và hỗ trợ công cụ phụ thuộc kết nối thực tế; chấp nhận thay đổi phép tính vẫn cần bạn rà soát và xác minh.
Lập bản sửa phép tính theo cửa sổ
- Vì sao cần cho thấy bên sử dụng đầu ra cùng với hàm?
Bên sử dụng có thể gắn từng giá trị với vị trí đầu vào cụ thể. Chỉnh sửa có thể giữ cực đại nhưng dịch liên kết đó. Kèm nơi gọi và xác định mỗi đầu ra đại diện cửa sổ nào để rà soát cả căn chỉnh lẫn số học.
- Bộ dữ liệu kiểm thử nhỏ cần trường hợp độ rộng nào?
Dùng một, toàn bộ độ dài đầu vào và một độ rộng không hợp lệ, cùng trường hợp thường mà ứng dụng cần. Nêu chính sách từ chối giá trị không hợp lệ. Xác minh cả giá trị lẫn số lượng kết quả bằng kiểm tra dự án hiện có.
- Đánh giá gợi ý về hiệu quả thế nào?
Trước tiên xác nhận hành vi tương đương trên dữ liệu kiểm thử. Sau đó đo phương án bằng dữ liệu đại diện và công cụ của bạn. Lời giải thích cách tiếp cận của mô hình là ngữ cảnh rà soát hữu ích, nhưng không phải bằng chứng hiệu năng trong ứng dụng.
- Cực đại lặp có cần chú ý riêng không?
Hãy đưa chúng vào vì triển khai có thể theo dõi cả vị trí ứng viên lẫn giá trị. Yêu cầu giải thích cách ứng viên cũ rời cửa sổ, rồi đối chiếu hành vi đề xuất với chuỗi mong đợi rõ ràng trước khi chấp nhận bản sửa.
WindowRidge · Cập nhật 2026-10-25