Làm sao để kiểm tra 1 tổ hợp tạo ra là thỏa mãn hay không? tổ hợp dấu ngoặc hợp lệ sẽ có số dấu mở ngoặc bằng dấu đóng ngoặc. và không có dấu đóng hoặc mở ngoặc nào bị dư thừa.
"((()))": hợp lệ
"())(()": không hợp lệ
Liệt kê tất cả các cặp dấu ngoặc hợp lệ dựa trên n cặp đầu vào Example
Vét cạn: Chúng ta có thể dùng đệ quy chạy để tạo ra các tổ hợp của các cặp và kiểm tra kết quả cuối cùng có thỏa mãn hay không. Cách này độ phức tạp sẽ là 2 mũ (2 * n). Làm sao để kiểm tra 1 tổ hợp tạo ra là thỏa mãn hay không? tổ hợp dấu ngoặc hợp lệ sẽ có số dấu mở ngoặc bằng dấu đóng ngoặc. và không có dấu đóng hoặc mở ngoặc nào bị dư thừa. "((()))": hợp lệ "())(()": không hợp lệ Merge k LinkedList thành 1 LinkedList theo thứ tự tăng dần Cách dễ nhất là chúng ta add tất cả các node vào 1 mảng phụ sau đó gọi hàm sort(). độ phức tạp là N*log(N). N là tổng số Node Cách 2: Loop N lần (N là tổng số Node) mỗi lần sẽ tìm node nhỏ nhất của k LinkedList, độ phức tạp sẽ là N * k Cách 3: Tối ưu quá trình tìm node nhỏ nhất khi duyệt qua k LinkedList bằng PriorityQueue. Các thao tác insert vào PriorityQueue sẽ có độ phức tạp là log(k) thay vì k như cách 1. Độ phức tạp sẽ là N * log(k) Code Editor
Cho một số mảng gồm n số nguyên, tìm tất cả các bộ ba a, b, c duy nhất trong mảng sao cho a + b + c = 0 Lưu ý: các bộ 3 không được phép trùng lặp Code Editor
Cho 1 mảng số nguyên không trùng lặp, hãy tìm mảng con lớn nhất sao cho với mỗi Si và Sj thỏa mãn điều kiện Si chia hết cho Sj hoặc Sj chia hết cho Si. Nếu có nhiều mảng con cùng kích thước có thể lựa chọn tùy ý 1 đáp án. Cho một chuỗi s và một chuỗi t, kiểm tra xem s có phải là chuỗi con của t không. Chuỗi con là một chuỗi được tạo thành từ chuỗi gốc bằng cách xóa một số các ký tự mà không làm xáo trộn vị trí tương đối của các ký tự còn lại. (ví dụ "ace" là một phần sau của "abcde" trong khi "aec" thì không). Code Editor
Kiểm tra xem 1 số có phải là lũy thừa của 2 không |
Thời Gian
December 2021
Chủ ĐỀ
All
|