← Level 3 · Đọc hiểu & Tình huống FE
Thuật toán & giả mã Tình huống đọc hiểu Độ khó: Nâng cao Thời gian dự kiến: Khoảng 5 phút Cấp độ phù hợp: FE Level 3 (môn B)

Tìm cặp phần tử có tổng bằng giá trị mục tiêu

Đoạn giả mã dưới đây kiểm tra xem có tồn tại hai phần tử nào trong mảng data có tổng bằng target hay không.

○ kiểu luận lý: hasPairSum(mảng số nguyên: data, số nguyên: target)
  số nguyên: i, j
  for (i từ 0 đến (số phần tử của data) - 2, tăng dần 1)
    for (j từ i + 1 đến (số phần tử của data) - 1, tăng dần 1)
      if ((data[i] + data[j]) bằng target) then
        return true
      endif
    endfor
  endfor
  return false

Từ khóa

論理型ろんりがたkiểu luận lý (boolean)

Câu hỏi

1

Khi data = [2, 7, 4, 1] và target = 9, giá trị nào được trả về?

Lựa chọn

  1. true
  2. false
  3. Lỗi
  4. 9
Xem giải thích

Ở i=0 (data[0]=2), j=1 (data[1]=7), 2+7=9=target, nên trả về true.

2

Khi data = [2, 7, 4, 1] và target = 20, giá trị nào được trả về?

Lựa chọn

  1. true
  2. false
  3. 20
  4. Lỗi
Xem giải thích

Không có cặp phần tử nào trong data có tổng bằng 20 (tối đa là 7+4=11), nên trả về false.

3

Độ phức tạp thời gian phù hợp nhất của thủ tục này, với n phần tử, là gì?

Lựa chọn

  1. O(n)
  2. O(n log n)
  3. O(n^2)
  4. O(2^n)
Xem giải thích

Kiểm tra mọi cặp bằng vòng lặp lồng nhau cho độ phức tạp O(n^2).

Đăng nhập để lưu kết quả

Bạn có thể đọc miễn phí nội dung, câu hỏi và giải thích. Hãy đăng nhập để lưu kết quả và đưa vào hàng ôn tập cùng phân tích điểm yếu.

Đăng nhập để lưu