01/10/2018, 10:17
Giúp mình đoạn code stack sai chỗ nào
Xem giúp mình về thuật toán đoạn code sau, mình không tìm thấy sai ở chỗ nào mà nó lại ra không đúng như logic.
var s=[];
var n=4;
var lay_ra;
var v=[];
var dd=1000;//xem như số dương vô cùng
var kq=[];
for( i=0; i<n; i++){
v.push(0);
}
s.push(0);
v[0]=dd;
dd--;
while(s.length != 0){
lay_ra=s.pop();
for(var j = 0; j < n ; j++){
if(v[j] < v[lay_ra] )
{
s.push(j);
if(v[j]==0){
v[j]=dd; dd--;
}
kq.push({lay_ra:lay_ra,j:j});
}
}
}
$("#msg").html(JSON.stringify(kq));
Kết quả ra thế náy
[{“lay_ra”:0,“j”:1},{“lay_ra”:0,“j”:2},{“lay_ra”:0,“j”:3},{“lay_ra”:2,“j”:3},{“lay_ra”:1,“j”:2},{“lay_ra”:1,“j”:3},{“lay_ra”:2,“j”:3}]
Mình không hiểu tại sao 2 lần cặp số 2,3
Mong các bạn chỉ giáo,
thk thousands
See my code here
Bài liên quan