Nhà tuyển dụng quan tâm đến kỹ năng giải quyết vấn đề của ứng viên, trình bày vấn đề và yêu cầu họ viết thuật toán cho vấn đề đó. Bằng cách đó, các nhà tuyển dụng có thể tách biệt những người chỉ sao chép và dán mã với những người thực sự hiểu cú pháp và cách thức hoạt động của nó. Nhưng thuật toán là gì?
NHẢY ĐẾN
- Các bước giải một bài toán thuật toán
- 25 thuật toán giúp nâng cao kỹ năng giải quyết vấn đề của bạn
- Thưởng
- Phần kết luận
Thuật toán [phát âm là AL-go-rith-um] là một quy trình hoặc công thức để giải quyết vấn đề, dựa trên việc tiến hành một chuỗi các hành động được chỉ định. Một chương trình máy tính có thể được xem như một thuật toán phức tạp. Trong toán học và khoa học máy tính, một thuật toán thường có nghĩa là một quy trình nhỏ giải một bài toán lặp lại - whatis
Từ định nghĩa trên ta có thể suy ra rằng thuật toán được dùng để giải các bài toán và để xây dựng được một thuật toán hiệu quả thì người đó phải hiểu rõ về bài toán đang giải.
Các cuộc phỏng vấn về thuật toán hoặc giải quyết vấn đề gần như không thể tránh khỏi ngày nay với các xu hướng công nghệ hiện nay
Trước thực tế này, làm thế nào bạn có thể đạt được một thuật toán để giải quyết vấn đề?
Các bước giải một bài toán thuật toán
- HIỂU - Cố gắng hiểu vấn đề và chia nó thành các phần nhỏ nhất có thể
- CHIẾN LƯỢC - Tìm hiểu những công cụ nào có sẵn cho bạn trong ngôn ngữ lập trình của bạn [Chúng tôi đang sử dụng JavaScript cho mục đích của bài viết này]
- THỰC HIỆN - Giải quyết từng vấn đề nhỏ bằng các công cụ đó và kết hợp các giải pháp để tạo thành một giải pháp cho toàn bộ vấn đề
Ví dụ: nếu bạn gặp một bài toán đối xứng từ, bạn sẽ viết thuật toán cho bài toán đó như thế nào?
Hãy áp dụng các bước trên
BƯỚC MỘT. HIỂU KHÔNG
Vấn đề lớn ở đây là kiểm tra xem từ chúng ta được cung cấp có giống nhau không nếu đảo ngược
Tuy nhiên, để chúng tôi biến điều đó thành hiện thực, chúng tôi phải cung cấp giải pháp cho các vấn đề nhỏ hơn như
- Làm thế nào để giữ một tham chiếu đến từ gốc mà chúng tôi được cung cấp
- Cách đảo ngược từ
- Nhưng để đảo ngược từ chúng ta cần chia từ thành các ký tự
- Nếu cuối cùng chúng ta đảo ngược nó, chúng ta cần tham gia các ký tự
- Cuối cùng, chúng ta cần so sánh từ mới với từ cũ
BƯỚC B. CHIẾN LƯỢC
Một số công cụ Chúng tôi có tại thời điểm phân phối bao gồm những công cụ sau
- biến
- tách ra[]
- toán tử lây lan
- nếu. khác. câu lệnh điều kiện
- toán tử bậc ba
- đảo ngược[]
- tham gia[]
BƯỚC C. THỰC HIỆN
Sau khi chia vấn đề này thành các bit nhỏ hơn, chúng tôi có một cách để giữ một bản sao của từ gốc được cung cấp cho chúng tôi bằng cách sử dụng công cụ variable
do JavaScript cung cấp cho chúng tôi
const orginalWord = word;
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vì chúng ta không thể chỉ đảo ngược một chuỗi, chúng ta cần tách từ đó và biến nó thành một mảng bằng phương thức .split[""]
let splittedWord = word.split[""];
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Bây giờ chúng ta có thể đảo ngược mảng bằng cách sử dụng
let splittedWord = word.split[""];
0 như vậy
let reversedWord = splittedWord.reverse[];
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Bây giờ nó đã được đảo ngược. Nhưng chúng ta cần đưa nó trở lại một chuỗi mà không có gì ngăn cách các ký tự. Vì vậy, chúng ta có thể sử dụng
let splittedWord = word.split[""];
0 để làm điều đó
let newWord = reversedWord.join[""];
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Cuối cùng, hãy so sánh từ mà chúng tôi đã đưa ra ban đầu và từ mà chúng tôi đã đảo ngược
if[orginalWord === newWord]{
console.log[true]
}else{
console.log[false]
}
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Mã cuối cùng
function palindrome[word]{
const orginalWord = word;
let splittedWord = word.split[""];
let reversedWord = splittedWord.reverse[];
let newWord = reversedWord.join[""];
if[orginalWord === newWord]{
return[true]
}else{
return[false]
}
}
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Người khác có thể giải quyết vấn đề bằng đoạn mã sau
function palindrome[word]{
return[word === [...word].reverse[].join[""]]
}
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Lưu ý rằng thật dễ dàng để chinh phục bất kỳ vấn đề nào nếu bạn phân chia nó. Vì vậy, về cơ bản, thuật toán là về cách bạn có thể phân chia và chinh phục
Thực hành, họ nói tạo nên sự hoàn hảo. Vì vậy, với ý nghĩ đó, tôi giới thiệu với bạn loạt bài sau đây để giúp bạn cải thiện kỹ năng giải quyết vấn đề của mình. Bộ truyện được thực hiện cách đây một thời gian khi tôi quyết định nắm bắt thuật toán. Quyết định đó đã cải thiện kỹ năng lập trình của tôi nói chung và tôi chắc chắn rằng nó cũng sẽ nâng cao kỹ năng của bạn cũng như cơ hội chiến thắng trong các cuộc phỏng vấn kỹ thuật
Vì vậy, xin vui lòng, thưởng thức bộ truyện
25 thuật toán giúp nâng cao kỹ năng giải quyết vấn đề của bạn
thuật toán 101. 7 cách để đảo ngược một chuỗi
thuật toán 101. 13 cách đếm số nguyên âm trong một chuỗi
thuật toán 101. 6 cách để tìm ký tự lặp lại nhiều nhất trong một chuỗi
thuật toán 101. 8 cách viết hoa một câu
thuật toán 101. 6 cách để kiểm tra xem một từ có phải là Palindrome không
thuật toán 101. 3 cách để tìm khoảng cách Hamming
thuật toán 101. 6 cách tìm từ dài nhất trong câu
thuật toán 101. 9 cách để tìm kiếm và thay thế một từ
thuật toán 101. 3 cách để kiểm tra xem hai từ có phải là đảo ngữ không
thuật toán 101. 3 cách để tạo Pig Latin
thuật toán 101. 3 cách để kiểm tra xem hai câu có phải là đảo ngữ không
thuật toán 202. Chia mảng theo 3 cách
thuật toán 202. Hợp nhất mảng mà không trùng lặp theo 4 cách
thuật toán 202. Bouncer giả theo 4 cách
thuật toán 202. Nơi tôi thuộc về theo 3 cách
thuật toán 101. 3 cách đảo ngược một số nguyên
thuật toán 202. 3 cách tính tổng một dãy giá trị
Thuật toán 202 [Câu hỏi phỏng vấn của tôi]. Nhóm đảo ngữ theo 3 cách
thuật toán 101. 4 cách để FizzBuzz một số
thuật toán 101. 2 cách để FizzBuzz một dãy số
thuật toán 101. 3 cách để có được dãy Fibonacci
thuật toán 101. 2 Cách Tìm Tích Lớn Nhất Cho 3 Số Nguyên
Thuật toán 101 [Câu hỏi phỏng vấn]. 2 cách để xác định xem 2 từ có đẳng cấu không
Thuật toán 202 [Câu hỏi phỏng vấn]. Khớp dấu ngoặc đơn theo 2 cách
thuật toán 202. Người bán tất
THƯỞNG
Có bao nhiêu hướng dẫn trước khi tôi trở thành Pro?
3 điều giúp bạn có được công việc kỹ sư phần mềm đầu tiên
Phần kết luận
Với những điều đã nói ở trên, bạn có thể thấy rằng thuật toán không khó như vẻ ngoài của nó. Về cơ bản, đó là tất cả về việc giải quyết các vấn đề hàng ngày. Tuy nhiên, nếu không thực hành, sẽ không dễ dàng giải quyết vấn đề một cách dễ dàng