HomeLập trìnhJavaScriptThử thách mã...

Thử thách mã hóa Javascript nearIncreasingSequence – JavaScript


Vì vậy, đây là thử thách javascript mà tôi đã thử trong tín hiệu mã.

Cho một dãy các số nguyên dưới dạng một mảng, hãy xác định xem có thể có được một dãy tăng nghiêm ngặt hay không bằng cách loại bỏ không quá một phần tử khỏi mảng

, tôi đã vượt qua tất cả các bài kiểm tra nhưng trượt 1 bài kiểm tra ẩn và tôi không chắc tại sao mọi người có thể xác nhận điều này?. Kiểm tra ẩn là một mảng chứa [1-5000]. Đầu ra thử nghiệm ẩn là “Trống”, dự kiến ​​là “đúng”

đây là mã của tôi và sẽ hoạt động hợp lý. Ban đầu, tôi nghĩ nó có liên quan gì đó đến thời gian chạy nhưng nhìn vào bảng phân tích trên youtube, thời gian chạy gần như giống nhau đối với lần thử nghiệm trước. Các bạn có nghĩ rằng đó là một lỗi?

function almostIncreasingSequence(sequence) {

    if(isSequence(sequence)){ //if its sequence by default no need for further checks
        return true;
    }
    
    for(let i = 0; i < sequence.length; i++){
        var sliceCopy = sequence.slice(0);
        
        sliceCopy.splice(i,1);
        if(isSequence(sliceCopy)){
            return true;
        }
    }
    return false;

}

function isSequence(sequence){
  for(var j = 0; j < sequence.length -1; j++){
      if(sequence[j] >= sequence[j+1]){
         return false;
       }
   }
  return true;
}


Tôi đã tự giải quyết thuật toán này, nhưng tôi không chắc tại sao bạn lại gặp phải lỗi cú pháp, thay vào đó, tôi đã mong mã của bạn hết thời gian chờ. Đối với MỌI phần tử, bạn loại bỏ nó rồi chạy qua toàn bộ mảng để kiểm tra xem đó có phải là dãy tăng hay không, sau đó bạn khôi phục lại toàn bộ mảng. Đó là rất nhiều công việc.

Đọc thêm  Phương thức mảng JavaScript – Cách sử dụng every() và some() trong JS

Bạn có thể giải quyết vấn đề này bằng cách chạy qua mảng một lần, chỉ sử dụng mối nối một lần. Trên thực tế, bạn không cần sử dụng mối nối nào cả. Hãy thử thiết lập bộ đếm ‘lỗi’ và nếu giá trị này vượt quá 1 thì trả về giá trị sai. Trả về true ở cuối vòng lặp nếu mã đạt đến điểm đó. Tôi nghi ngờ lỗi cú pháp mà bạn gặp phải thực sự là lỗi hết thời gian chờ.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status