<1> |
เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี
- key 'shape' ที่มี value เป็น
tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์
- key 'data' ที่มี value เป็น dict ที่มี
- key เป็นเลขแถว
- value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 1
- คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์
เช่น ตาราง
0000000
0001001
0111110
0000000
0000100
0000000
เก็บด้วย dict
{
'shape': (6,7),
'data': {
0: [],
1: [3,6],
2: [3,1,2,4,5],
4: [4]
}
}
ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 1 เลย
อาจมีหรือไม่มีเลขแถวใน dict ก็ได้
จงเขียนฟังก์ชัน f(x)
- รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น
- คืน tuple (i,j) ที่
- i น้อยกว่า j
- i กับ j เป็นเลขแถวของคู่แถวที่เมื่อรวมพิจารณา
ทั้งสองแถวจะมีจำนวน 1 มากสุด
- ถ้ามี 1 ที่คอลัมน์เดียวกันทั้งสองแถว
ให้คิดตัวเดียวในคอลัมน์นั้น
- ถ้ามีมากสุดหลายคู่แถว ก็คืนสัก 1 คู่
เช่น ตาราง
01000
10010
01100
00000
แทนด้วย
x = {
'shape': (4,5),
'data' : {0:[1], 1:[0,3], 2:[1,2]}
}
คำสั่ง f(x) จะคืน (1, 2)
|