Tel: 024.7300.7989 - Phone: 1800.6947 (Thời gian hỗ trợ từ 7h đến 22h)

Giỏ hàng của tôi

Cho đoạn mã sau:C (Ngôn ngữ C)Python (Ngôn ngữ Python)int arr1[] = {1, 2, 3, 2, 4, 3, 5};arr1 = [1, 2, 3, 2,

Câu hỏi số 785167:
Thông hiểu

Cho đoạn mã sau:

C (Ngôn ngữ C)Python (Ngôn ngữ Python)
int arr1[] = {1, 2, 3, 2, 4, 3, 5};arr1 = [1, 2, 3, 2, 4, 3, 5]
int arr2[7], dem = 0;arr2 = []
for (int i = 0; i < 7; i++) {for i in range(7):
int found = 0;found = False
for (int j = 0; j < dem; j++) {for j in range(len(arr2)):
if (arr1[i] == arr2[j]) { found = 1; break; }if arr1[i] == arr2[j]: found = True; break
}
if (found == 0) { arr2[dem++] = arr1[i]; }if not found: arr2.append(arr1[i])
}

Đúng Sai
a) Sau đoạn mã trên, mảng arr2 chứa các phần tử không trùng lặp từ arr1 .
b) Số lượng phần tử trong mảng arr2 sau khi chạy chương trình là 5.
c) Nếu bỏ qua vòng lặp kiểm tra for (int j = 0; j < dem; j++) , thì mảng arr2 sẽ chứa toàn bộphần tử arr1 , kể cả trùng.
d) Độ phức tạp thuật toán trên là O(n), vì chỉ cần duyệt một lần qua mảng.

Đáp án đúng là: Đ; Đ; Đ; S

Quảng cáo

Câu hỏi:785167
Phương pháp giải

Duyệt mảng, tìm phần tử không trùng, so sánh vòng lặp.

Giải chi tiết

A Đúng. Thuật toán kiểm tra trước khi thêm, đảm bảo mỗi giá trị chỉ xuất hiện 1 lần trong arr2 .

B Đúng. Các phần tử khác nhau là 1, 2, 3, 4, 5 → tổng cộng 5 phần tử.

C Đúng. Không kiểm tra trùng thì tất cả phần tử gốc sẽ được thêm vào arr2 .

D Sai. Vì có vòng lặp lồng nhau (duyệt tất cả phần tử trước đó để kiểm tra trùng), nên độ phức tạp là O(n2).

Đáp án cần chọn là: Đ; Đ; Đ; S

Group 2K8 ôn Thi ĐGNL & ĐGTD Miễn Phí

>>  2K8 Chú ý! Lộ Trình Sun 2026 - 3IN1 - 1 lộ trình ôn 3 kì thi (Luyện thi 26+ TN THPT, 90+ ĐGNL HN, 900+ ĐGNL HCM, 70+ ĐGTD - Click xem ngay) tại Tuyensinh247.com.Đầy đủ theo 3 đầu sách, Thầy Cô giáo giỏi, luyện thi theo 3 giai đoạn: Nền tảng lớp 12, Luyện thi chuyên sâu, Luyện đề đủ dạng đáp ứng mọi kì thi.

Hỗ trợ - Hướng dẫn

  • 024.7300.7989
  • 1800.6947 free

(Thời gian hỗ trợ từ 7h đến 22h)
Email: lienhe@tuyensinh247.com