Đố vui lập trình (1)

Bài này mở đầu một loạt các bài về đố vui lập trình (cũng là các câu hỏi phỏng vấn liên quan đến lập trình được cho là được hỏi bởi google, microsoft, ebay, yahoo,…), phần này cũng có tham khảo các câu hỏi phỏng vấn từ blog khoa học máy tính và một số nơi khác.

Câu đố 1:

Cho một mảng các số nguyên, hãy viết một đoạn chương trình để cho biết trong mảng có số nguyên được lặp lại.

Thuật toán với độ phức tạp O(n^2) khá đơn giản như sau:

Input: Mảng A[1..N]

Output: True or False

Algorithm:

1. for i=1:N,

2.   for j=1:N,

3.      if (A[i]==A[j])

4.         return True;

5. return False;

Bạn hãy thử sức đề xuất thuật toán O(n) nhé!

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: