Cảm ơn. Vì vậy, tôi tạo một mảng và sau đó là một vòng lặp lặp qua chỉ mục của mảng và so sánh các giá trị trong các chỉ mục? Bạn có biết tôi sẽ phải điều chỉnh như thế nào trong trường hợp có 4-5 giá trị tương đối gần nhau (giả sử chênh lệch, nhưng nó có thể là bất kỳ số tiền nào dưới mức tối đa được chỉ định: 0,00005, 0,00004, 0,00003, 0,00002). Không phải tôi đặc biệt cần 2 mức giá gần nhau nhất, mà là một số mức giá phù hợp với mức chênh lệch tối đa? Đây sẽ là một giải pháp tốt cho vấn đề đó? Mã được chèn Mảng kép#91;19#93;#91;1#93;; Khởi tạo mảng(Mảng#91;19#93;#91;1#93;, 20); Mảng#91;0#93;#91;0#93; = Giá0; Mảng#91;1#93;#91;0#93; = Giá1;/etc...etc...etc... ArraySort(Array#91;19#93;#91;1#93;,WHOLE_ARRAY,0,M ODE_ASCEND); maxdiff = 0,00005; Ngừng = 19; for (i=0;ilt;Stop;i ) { if (MathAbs(MathAbs#91;i#93;#91;0#93; - Array#91;i 1#93;#91;0#93; ) lt;= maxdiff) {Mảng#91;i#93;#91;1#93; = i 1; Array#91;i 1#93;#91;1#93; = i;} Nếu tôi đang sử dụng mảng chính xác như thế này thì chúng ta sẽ có một mảng 2 chiều, và chiều đầu tiên chứa 20 giá và chiều thứ hai là số nguyên 20 hoặc từ 0 đến 19. Nếu số nguyên là 20 thì không có giá nào đủ gần, nếu giá là 0-19 thì giá này tương ứng với chỉ số của giá đủ gần với giá này. Mặc dù chỉ số có thể bị ghi đè bởi giá tiếp theo nhưng giá khác sẽ vẫn chứa chỉ số và tôi có thể thêm vào một tấm séc so sánh sự khác biệt của giá 1 và giá 3 (giá 2 nằm trong phạm vi maxdiff của cả giá 1 và giá 3) trước khi đặt thứ nguyên thứ hai của mảng (nếu (Mảng == 20), đại loại như vậy).