Trung Quân
  • Node.js
  • ReactJS
    • Learn React Hooks
  • MERN Stack
  • Thuật Toán
  • Công Nghệ
    • Amazon AWS
    • Hosting – Domain
  • Về Tác Giả
  • Bản Quyền
Top Posts
Lộ trình học lập trình Web từ con...
Nhận diện, xác thực khuôn mặt với ReactJS...
Tạo hiệu ứng thẻ bài Magic với HTML...
NodeJS viết API gửi Email với OAuth2 và...
Tạo hiệu ứng Parallax đơn giản chỉ với...
Git – GitHub • Học Git thực tế...
Tạo một trang GitHub Profile phiên bản vũ...
Cài đặt iTerm2, Oh My Zsh, Zsh-autosuggestions và...
Cài đặt NVM, NodeJS và GIT trên MacOS...
Thuật toán Tìm phần tử bị lặp đầu...

Trung Quân

  • Node.js
  • ReactJS
    • Learn React Hooks
  • MERN Stack
  • Thuật Toán
  • Công Nghệ
    • Amazon AWS
    • Hosting – Domain
  • Về Tác Giả
  • Bản Quyền
Thuật Toán

Thuật toán Tìm phần tử bị lặp đầu tiên trong mảng dữ liệu

by trungquandev December 28, 2021December 28, 2021
written by trungquandev December 28, 2021December 28, 2021
find-first-duplicate-value-of-array-trungquandev-feature-thumb-img

Xin chào tất cả các bạn, mình là Quân, hôm nay mình sẽ hướng dẫn các bạn giải quyết một thuật toán khá thú vị đó là “Tìm phần tử bị lặp đầu tiên trong mảng” nhé, thuật toán này cũng thường được sử dụng trong các bài phỏng vấn mà mình đã từng gặp, và chính mình cũng từng sử dụng nó như một bài test nhỏ để phỏng vấn ngược lại cho các bạn ứng tuyển vào công ty. 😀

“Bài này nằm trong loạt bài Xử lý thuật toán với JavaScript trên trang blog chính thức trungquandev.com“

Những nội dung có trong bài:

  1. Video bài giảng
  2. Code demo và link GitHub của bài học

1. Video bài giảng

Thuật toán Tìm phần tử bị lặp đầu tiên trong mảng dữ liệu


2. Code demo và link GitHub của bài học

Đây sẽ là code cho các bạn preview nhé, các bạn có thể xem thêm nhiều bài thuật toán khác tại link GitHub bên dưới nhé:

/**
 * https://trungquandev.com
 * --- Đề bài ---
 * - Cho một Array ví dụ ['a', 'b', 'a', 'd', 'd', 'e', 'b', 'x', 'y', 'z']
 * - Yêu cầu tìm phần tử bị duplicate đầu tiên trong Array (với độ phức tạp thuật toán tối ưu nhất có thể).
 */

const list = ['a', 'b', 'a', 'c', 'd', 'x', 'y', 'z']

const getFirstDuplicateValueOfArray = (array) => {
  let tmp = {}

  for (const value of array) {
    if (tmp[value]) return tmp[value]
    tmp[value] = value
  }

  return -1
}

const foundDupValue = getFirstDuplicateValueOfArray(list)
if (foundDupValue === -1) {
  console.log('No result found.')
} else {
  console.log(`First duplicate value is: ${foundDupValue}`)
}



Đây là link repo GitHub chính chứa toàn bộ các bài thuật toán trong chuỗi Series Xử lý thuật toán với JavaScript trên trang blog chính thức Trungquandev này cũng như kênh YouTube: Trungquandev Official của mình, các bạn nhớ đừng quên tặng mình 1 star vào repo nha ^^!

https://github.com/trungquandev/trungquandev-public-utilities-algorithms


Cảm ơn các bạn đã dành thời gian đọc bài viết.

Xin chào và hẹn gặp lại các bạn ở những bài viết tiếp theo.

Best Regards – ? Trungquandev Official ❤


Tham khảo kiến thức:

https://en.wikipedia.org/wiki/Algorithm
https://en.wikipedia.org/wiki/Time_complexity

“Thanks for awesome knowledges.”
“ From author: trungquandev ”

Khóa học lập trình làm việc thực tế:

Nếu các bạn thấy bài viết của mình có ích thì hãy ủng hộ mình bằng cách tham khảo bài viết giới thiệu khóa học lập trình MERN Stack Miễn Phí cực kỳ chất lượng và chính chủ dưới đây của mình nhé, cảm ơn các bạn ^^
KHOÁ HỌC LẬP TRÌNH MERN STACK 100% DỰ ÁN THỰC TẾ và CHẤT LƯỢNG
mern-stack-course-trungquandev
algorithmjavascriptthuật toántrungquandev
0 comment
0
FacebookTwitterGoogle +Pinterest
trungquandev

previous post
Thuật toán và độ phức tạp của thuật toán trong lập trình là gì?
next post
Cài đặt NVM, NodeJS và GIT trên MacOS M1 Silicon

Related Posts

Thuật toán và độ phức tạp của thuật...

December 26, 2021

Xử lý thuật toán với JavaScript

December 26, 2021

Bát Chánh Đạo

batchanhdao-trungquandev

About Me

About Me

Trung Quân

Senior Software Engineer at Pod Foods (US)

Academy Of Cryptography Techniques

"I am a dog and cat lover, love green, love to read books, write blog and oil painting ..."

Read my CV → https://cv.trungquandev.com/

My Maxim Live

A bit of fragrance clings to the hand that gives flowers!

For Vietnamese young generation

Đừng bao giờ làm người khổng lồ trong tư tưởng nhưng chỉ là thằng lùn trong hành động.

Keep in touch

Facebook Instagram Linkedin Youtube Email Github

Fanpage Facebook

Facebook

Học lập trình “MERN Stack Cơ Bản” qua ứng dụng thực tế

mern-stack-trello-app-trungquandev


  Khóa học lập trình MERN Stack (NodeJS, ReactJS, ExpressJS, MongoDB) cực kỳ chất lượng và Miễn Phí do chính mình hướng dẫn nhé:
  MERN Stack - xây dựng ứng dụng quản lý công việc dạng Kanban tương tự Trello.

Học lập trình “MERN Stack Nâng Cao” qua ứng dụng thực tế

mern-stack-advanced-trello-app-trungquandev


  * Học lập trình MERN Stack Nâng Cao (NodeJS, ReactJS, ExpressJS, MongoDB). Đây là một khóa học mà mình đã làm cực kỳ tâm huyết, với phong cách dạy lập trình làm dự án thực tế, chuyên nghiệp. Để các bạn có một hành trang kiến thức vững chắc cho hành trình làm lập trình viên trong tương lai nhé.
  Lập Trình MERN Stack Nâng Cao - Học Thực Tế Để Đi Làm

YouTube: Trungquandev Official

youtube-channel-trungquandev-official


  - Các bạn tham khảo kênh YouTube chính thức của mình và ủng hộ mình bằng cách tặng mình một lượt Đăng Ký Kênh nha.
Cảm ơn các bạn ^^

  YouTube: TRUNGQUANDEV OFFICIAL

© Copyright

Bản quyền:
  © DMCA (Digital Millennium Copyright Act)


DMCA.com Protection Status

License

Giấy phép nội dung:
  Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 Quốc tế.


Giấy phép Creative Commons

Other links

Portfolio của mình:
  https://cv.trungquandev.com

Lập trình cuộc sống:
  https://laptrinhcuocsong.com

Nhiều bài viết hay về javascript:
  https://codetheworld.io

  • Facebook
  • Youtube
  • GitHub
  • Linkedin
  • Instagram

@2022 - trungquandev.com. Since 2016 - All Right Reserved. Developed by Trung Quân Dev