Giải chuyên đề Tin 12 Cánh diều Bài 3: Thực hành kiểu dữ liệu hàng đợi và ngăn xếp có đáp án
28 người thi tuần này 4.6 318 lượt thi 1 câu hỏi
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Toán
130 đề thi • 106 bài giảng
Vật lý
69 đề thi • 15 bài giảng
Hóa học
44 đề thi • 25 bài giảng
Sinh học
18 đề thi
Văn
133 đề thi • 26 bài giảng
Lịch sử
38 đề thi • 7 bài giảng
Địa lý
45 đề thi • 26 bài giảng
Tiếng Anh
30 đề thi
Công nghệ
312 đề thi
Tin học
514 đề thi
Giáo dục Quốc phòng
28 đề thi
Toán
185 đề thi • 55 bài giảng
Vật lý
78 đề thi • 71 bài giảng
Hóa học
45 đề thi • 5 bài giảng
Sinh học
37 đề thi
Văn
97 đề thi • 47 bài giảng
Lịch sử
39 đề thi
Địa lý
49 đề thi • 32 bài giảng
Tiếng Anh
71 đề thi • 64 bài giảng
Công nghệ
61 đề thi
Tin học
480 đề thi
Giáo dục Quốc phòng
64 đề thi
Toán
226 đề thi
Vật lý
118 đề thi • 17 bài giảng
Hóa học
70 đề thi • 57 bài giảng
Sinh học
34 đề thi
Văn
96 đề thi • 48 bài giảng
Lịch sử
39 đề thi
Địa lý
97 đề thi • 65 bài giảng
Tiếng Anh
89 đề thi • 39 bài giảng
Công nghệ
393 đề thi
Tin học
35 đề thi
Giáo dục thể chất
183 đề thi
Giáo dục Quốc phòng
89 đề thi
Toán
204 đề thi • 100 bài giảng
Văn
79 đề thi • 39 bài giảng
Lịch sử
123 đề thi • 120 bài giảng
Địa lý
17 đề thi • 13 bài giảng
Công nghệ
12 đề thi
Tin học
35 đề thi • 5 bài giảng
Giáo dục công dân
311 đề thi
Tiếng Anh
1340 đề thi
Lịch sử và Địa lí
51 đề thi
Toán
133 đề thi • 113 bài giảng
Văn
126 đề thi • 67 bài giảng
Lịch sử
28 đề thi • 18 bài giảng
Địa lý
20 đề thi • 11 bài giảng
Công nghệ
10 đề thi
Tin học
26 đề thi
Giáo dục công dân
324 đề thi
Tiếng Anh
677 đề thi • 184 bài giảng
Lịch sử và Địa lí
46 đề thi
Toán
284 đề thi • 156 bài giảng
Văn
120 đề thi • 99 bài giảng
Lịch sử
35 đề thi • 18 bài giảng
Lịch sử và Địa lí
58 đề thi
Công nghệ
41 đề thi
Tin học
40 đề thi
Giáo dục công dân
41 đề thi
Tiếng Anh
120 đề thi • 99 bài giảng
Giáo dục thể chất
138 đề thi
Toán
318 đề thi • 398 bài giảng
Văn
168 đề thi • 96 bài giảng
Tiếng Anh
240 đề thi • 103 bài giảng
Lịch sử
30 đề thi • 11 bài giảng
Lịch sử và Địa lí
36 đề thi
Giáo dục công dân
323 đề thi
Công nghệ
340 đề thi
Tin học
326 đề thi
Âm nhạc
28 người thi tuần này 4.6 318 lượt thi 1 câu hỏi
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
a) Dựa trên cơ chế hoạt động vào trước ra trước của hàng đợi và vào sau ra trước của ngăn xếp (stack), em thiết kế thuật toán sử dụng một ngăn xếp và một hàng đợi (queue), để kiểm tra xem một xâu kí tự bất kì có tính chất đối xứng hay không như sau:
- Chuyển xâu kí tự về cùng một định dạng (chữ thường) và loại bỏ các kí tự không phải chữ cái hoặc số để tránh các yếu tố không cần thiết.
- Đưa từng kí tự của xâu vào cả ngăn xếp và hàng đợi.
- Lần lượt lấy từng kí tự ra từ ngăn xếp và hàng đợi và so sánh chúng. Nếu tất cả các kí tự lấy ra đều giống nhau, thì xâu kí tự có tính chất đối xứng, ngược lại thì không.
b) Viết hàm doixang(s) thực hiện thuật toán xây dựng được ở câu a) để kiểm tra xem xâu s có tính chất đối xứng hay không như sau:
from collections import deque
def clean_string(s):
return ''.join(char.lower() for char in s if char.isalnum())
def doixung(s):
cleaned_s = clean_string(s)
stack = []
queue = deque()
for char in cleaned_s:
stack.append(char)
queue.append(char)
while stack:
if stack.pop() != queue.popleft():
return False
return True
c) Viết chương trình hoàn thiện yêu cầu người sử dụng nhập vào một xâu kí tự, rồi gọi hàm doixung(s) để kiểm tra xâu nhập vào có tính chất đối xứng hay không và chạy chương trình với các xâu kí tự đã cho:
def main():
strings_to_test = ["-123454321", "112", "racecar"]
for s in strings_to_test:
if doixung(s):
print(f"'{s}' có tính chất đối xứng.")
else:
print(f"'{s}' không có tính chất đối xứng.")
user_input = input("Nhập vào một xâu kí tự: ")
if doixung(user_input):
print(f"'{user_input}' có tính chất đối xứng.")
else:
print(f"'{user_input}' không có tính chất đối xứng.")
if __name__ == "__main__":
main()
Kết quả thu được như sau:
"-123454321": có tính chất đối xứng.
"112": không có tính chất đối xứng.
"racecar": có tính chất đối xứng.
Bằng cách đăng ký, bạn đã đồng ý với Điều khoản sử dụng và Chính sách Bảo mật của chúng tôi.
-- hoặc --
Đăng nhập ngayĐể lấy lại mật khẩu vui lòng nhắn tin đến Zalo VietJack Official (nhấn vào đây) để được cấp lại
Bạn chưa có tài khoản? Đăng ký