บทนำ
ในบทช่วยสอนนี้ เราจะสร้างคู่ที่ไม่ซ้ำกัน (unique pairs) โดยที่สมาชิกทั้งสองในคู่ต้องน้อยกว่า N
ขั้นตอนการแก้ปัญหา
- กำหนดค่า N
- วนลูป i จาก 1 ถึง N-1
- วนลูป j จาก i+1 ถึง N-1 (เพื่อไม่ให้ซ้ำ และ i < j)
- พิมพ์คู่ (i, j)
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
void uniquePairs(int n) {
for (int i = 1; i < n; ++i) {
for (int j = i + 1; j < n; j++) {
cout << "(" << i << "," << j << ")" << endl;
}
}
}
int main() {
int n = 5;
uniquePairs(n);
return 0;
}
ผลลัพธ์
(1,2) (1,3) (1,4) (2,3) (2,4) (3,4)
ความซับซ้อน
- เวลา: O(N²) - ต้องสร้างคู่ทั้งหมด
- พื้นที่: O(1) - ไม่ใช้พื้นที่เพิ่มเติม
จำนวนคู่ทั้งหมด = N(N-1)/2
สรุป
โค้ดง่ายมากสำหรับสร้าง combination 2 ตัวจากชุด 1..N-1 หากมีคำถาม สามารถถามได้ในส่วนความคิดเห็นครับ