Hợp nhất hai danh sách liên kết đã sắp xếp
Bài toán này yêu cầu kết hợp hai danh sách liên kết đơn đã được sắp xếp tăng dần thành một danh sách liên kết mới cũng sắp xếp tăng dần. Danh sách kết quả được tạo ra bằng cách nối tất cả các nút từ hai danh sách ban đầu.
Ví dụ:
Input: ds1 = [1,2,4], ds2 = [1,3,4]
Output: [1,1,2,3,4,4]
Input: ds1 = [], ds2 = []
Output: []
Input: ds1 = [], ...
Đăng vào ngày 12 tháng 7 lúc 00:47
Phá Hủy MEX
Đề bài
====
Cho một mảng gồm các phần tử (a1, a2, a3 ... an). Chọn bất kỳ một đoạn con nào của mảng (ai, ai+1 ... aj) và thay thế đoạn đó bằng giá trị MEX(ai, ai+1 ... aj). Hỏi cần ít nhất bao nhiêu bước để toàn bộ mảng trở thành mảng chỉ chứa số 0.
Liên kết đề bài: https://codeforces.com/problemset/problem/2049/A
Phân tích đề bài
====
Điểm the ...
Đăng vào ngày 9 tháng 7 lúc 04:24
LeetCode Two Pointers Problem: Trapping Rain Water
Classic two-pointer problem on LeetCode
Initial Approach
To accumulate water, each bar must have taller bars on both sides. Additionally, the water level above a bar is determined by the shorter of the two boundary bars — that is, the minimum of the left and right max heights minus the current bar's height.
The key challenge lies in identifying ...
Đăng vào ngày 4 tháng 7 lúc 23:41
Các Thuật Toán Cơ Bản trong Lập Trình Competitive
Giới thiệu
Tài liệu này ghi lại quá trình học tập các thuật toán cơ bản từ khóa học của AcWing, bao gồm các chủ đề chính như sắp xếp nhanh, tìm kiếm nhị phân, tổng tiền tố, phép toán bit và thuật toán hai con trỏ.
Sắp xếp nhanh (Quick Sort)
Bài toán 1: Sắp xếp cơ bản
#include <iostream>
using namespace std;
const int MAX_SIZE = 10001 ...
Đăng vào ngày 29 tháng 6 lúc 17:29
Các thuật toán tìm kiếm kinh điển trong cấu trúc dữ liệu - Triển khai C/C++
Trong lĩnh vực cấu trúc dữ liệu, tìm kiếm là một thao tác cơ bản và thiết yếu. Các thuật toán tìm kiếm nội (thực hiện hoàn toàn trong bộ nhớ) đóng vai trò then chốt trong việc tối ưu hiệu suất truy xuất dữ liệu. Dưới đây là ba phương pháp tiêu biểu: tìm kiếm tuần tự, tìm kiếm theo khối và tìm kiếm nhị phân.
Tìm kiếm tuần tự
Đây là kỹ thuật đơn ...
Đăng vào ngày 26 tháng 6 lúc 14:20
Kỹ Thuật Làm Mờ Biểu Tượng Trong C++
1. Các thuật toán không thay đổi chuỗi
Đây là các thuật toán không làm thay đổi các phần tử trong container mà chúng thao tác.
1.1 Tìm kiếm với find và find_if
find(begin, end, value): Tìm phần tử đầu tiên bằng với value, trả về iterator (nếu không tìm thấy trả về end).
find_if(begin, end, predicate): Tìm phần tử đầu tiên thỏa mãn điều kiện củ ...
Đăng vào ngày 24 tháng 6 lúc 16:59
Phân Tích Các Vấn Đề Kỹ Thuật Trong Lập Trình C++
Các vấn đề kỹ thuật liên quan đến lập trình C++ có thể được phân tích và giải quyết thông qua các phương pháp sau:
Gỡ lỗi bằng cách sử dụng nhật ký (Logging)
Ví dụ về việc xây dựng cây nhị phân từ chuỗi trung thứ tự và hậu thứ tự, sử dụng cout để ghi lại quá trình chạy chương trình.
void logOutput(TreeNode* node) {
if (!node) return;
...
Đăng vào ngày 24 tháng 6 lúc 07:06
Đếm số bit 1 trong nhị phân và các bài toán liên quan
Việc đếm số bit 1 trong biểu diễn nhị phân của một số nguyên là thao tác cơ bản trong lập trình hệ thống, tối ưu thuật toán và xử lý dữ liệu. Dưới đây là cách tiếp cận hiệu quả cùng các ứng dụng thực tế.
1. Đếm bit 1 bằng phép AND với (n - 1)
Phương pháp này tận dụng tính chất: n & (n - 1) sẽ xóa đi bit 1 ở vị trí thấp nhất của n. Lặp lại ...
Đăng vào ngày 24 tháng 6 lúc 06:35
Kỹ Thuật Đồng Bộ Mạng Thời Gian Thực
1、Thuật Toán Không Sửa Đổi Dãy
Những thuật toán này không làm thay đổi các phần tử trong container mà chúng thao tác.
1.1 find và find_if
find(begin, end, value):Tìm phần tử đầu tiên bằng value và trả về iterator (trả về end nếu không tìm thấy).
find_if(begin, end, predicate):Tìm phần tử đầu tiên thỏa mãn điều kiện.
find_end(begin, end, sub ...
Đăng vào ngày 23 tháng 6 lúc 12:15
Tìm hai số xuất hiện duy nhất trong mảng
Mô tả bài toán:
Cho một mảng số nguyên nums có đúng hai phần tử chỉ xuất hiện một lần, tất cả các phần tử còn lại đều xuất hiện đúng hai lần. Hãy tìm hai phần tử đó. Bạn có thể trả về kết quả theo bất kỳ thứ tự nào.
Bạn phải thiết kế một thuật toán với độ phức tạp thời gian tuyến tính và chỉ sử dụng bộ nhớ phụ hằng số.
Ví dụ 1:
<strong> ...
Đăng vào ngày 23 tháng 6 lúc 07:02