Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cần gợi ý về sắp xếp mảng

21:22 09-08-2021 502 lượt xem 5 bình luận 23:56 09-08-2021

Hôm nay mình đi phỏng vấn gặp 1 bài khá khó hiểu ở cái đề: 

Cho mảng a = [ 1, 3 , 5 , 8, 0 7, 8 ] Sắp xếp mảng a sao cho Trái đến giữa bé đến lớn Phải lớn đến bé Ở giữa là số nhỏ nhất

Ví dụ:   [ 1, 3, 5 , 0, 8, 8, 7]

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Minh Sự Moderator đã bình luận 22:51 09-08-2021

Bạn xem code dưới thử, Mới học Javascritp được vài hôm code hơi lủng củng, nhưng nó chạy được :D 

 

Array.prototype.insert = function ( index, item ) {
    this.splice( index, 0, item );
};

var arrInput =  [1,3,5,8,0,7,8]
arrInput.sort();

var midIndex = Math.round(arrInput.length / 2);
arrInput.insert(midIndex,arrInput[0]);
arrInput.shift();

var firstArr = [];
for(let i = 0; i < midIndex; i++){
    firstArr.push(arrInput[i]);
}

var lastArr = [];
for(let i = midIndex; i < arrInput.length; i++){
    lastArr.unshift(arrInput[i]);
}


var outputArr = firstArr.concat(lastArr);
console.log(outputArr);

 

Cu Xin Author đã bình luận 22:42 09-08-2021

Trả lời cho câu hỏi trên.

  1. Pop phần tử nhỏ nhất ra khỏi mảng. Ở đây là số 0, đồng thời giữ nguyên vị trí các item khác.
  2. Chia đôi mảng.
  3. Xếp hai mảng theo yêu cầu.
  4. Ghép mảng đầu, 0, mảng thứ hai.

Logic là thế cho bạn hiểu. Còn code thì bạn tự code nhé.

Cu Xin Author đã bình luận 22:40 09-08-2021

Đặt lại title. Bạn đặt thế chả ai giúp bạn đâu.

Còn vụ nội dung câu hỏi làm ơn format cái biểu thức gán thành code.

như thế này

Không viết tắt và làm ơn chấm phẩy rõ ràng.

Câu hỏi mới nhất