Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. โปรแกรม Python คำนวณผลรวมค่าในเซลล์ Hyperrectangle ด้วย GCD

    Hyperrectangle (หรือ n-orthotope) คือรูปทรงสี่เหลี่ยมมิติ k โดยแต่ละมิติมีความยาว n₁, n₂, ..., nₖ เซลล์แต่ละเซลล์มีที่อยู่ (p, q, r, ...) และเก็บค่าเท่ากับ GCD (Greatest Common Divisor) ของพิกัด: gcd(p, q, r, ...) โดย 1 ≤ p ≤ n₁, 1 ≤ q ≤ n₂, ฯลฯ โจทย์: หาผลรวมค่าทุกเซลล์ modulo 10⁹+7 ตัวอย่าง

  2. โปรแกรมหาจำนวนห้องที่ซ่อนของรางวัลได้ (Game Show) ใน Python

    โจทย์ มีห้อง 2n ห้องเรียงวงกลม หมายเลข 1..n, -n..-1 ตามเข็มนาฬิกา แต่ละห้องมีประตูไปห้องอื่น ระยะ x (บวก=ตามเข็ม, ลบ=ทวนเข็ม) หาจำนวนห้องที่ถ้าวางรางวัลจะหาไม่เจอ (Participant เดินวนไปเรื่อยๆ) ตัวอย่าง: input_array = [[4, 2]] (n=4, เริ่มห้อง 2) → Output: [2] (ห้อง 4 และ -3 ไม่ถูกเยี่ยมชม) อัลกอริธึ

  3. โปรแกรมหา Determinant ของ Special Matrix จาก Tree (Python)

    โจทย์ มี Tree n จุดยอด (1 ถึง n) Root = 1 น้ำหนักจุดยอด w_i สร้าง Matrix n×n ที่ A(x,y) = W_f(x,y) โดย f(x,y) = LCA (Lowest Common Ancestor) ของ x และ y หา Determinant ของ Matrix A ตัวอย่าง: Edges [[1,2],[1,3],[1,4],[1,5]], Weights [1,2,3,4,5], n=5 → Matrix แสดงในโจทย์ → Det = 24 อัลกอริธึม (DFS +

  4. โปรแกรมหาจำนวน Subarray ที่ Max มากกว่า k (Python)

    โจทย์ มีอาร์เรย์ หา Subarray ต่อเนื่องทั้งหมด แทนแต่ละ Subarray ด้วยค่า Max ภายใน มีค่า k k ตัวอย่าง: input_array = [5,6,7,8], k = 7 → Subarrays Max: [5],[6],[7],[8],[6],[7],[8],[7],[8],[8] → มากกว่า 7 มี 4 อัน ([8],[8],[8],[8]) อัลกอริธึม (Complement Counting) นับ Subarray ที่ Max ≤ k (คือ Suba

  5. โปรแกรม Goal Parser Interpretation ใน Python

    โจทย์ Goal Parser แปลคำสั่ง: G → G () → o (al) → al ต่อผลลัพธ์ตามลำดับ ตัวอย่าง: command = G()()()(al)(al) → Output: Goooalal อัลกอริธึม วนอ่านตัวอักษร ถ้า G → เพิ่ม G ถ้า ( ตามด้วย ) → เพิ่ม o ถ้า (al) → เพิ่ม al (ข้ามวงเล็บ) โค้ด Python def solve(command): s = i = 0

  6. โปรแกรมนับ Consistent Strings ใน Python

    โจทย์ มีสตริง s (ตัวอักษรไม่ซ้ำ) และอาร์เรย์ words สตริง Consistent = ตัวอักษรทุกตัวอยู่ใน s นับจำนวน Consistent Strings ใน words ตัวอย่าง: s=px, words=[ad,xp,pppx,xpp,apxpa] → Consistent: [xp,pppx,xpp] → 3 อัลกอริธึม แปลง s เป็น Set เพื่อ O(1) Lookup ตรวจสอบแต่ละคำใน words ว่าทุกตัวอักษรอยู่ใ

  7. โปรแกรมนับจำนวนแมตช์ในทัวร์นาเมนต์ (Python)

    โจทย์ มีทีม n ทีม กติกา: คู่: ทีมคู่ → แมตช์ n/2, ผ่าน n/2 คี่: ผ่าน 1 ทีมอัตโนมัติ แมตช์ (n-1)/2, ผ่าน (n-1)/2 + 1 หาจำนวนแมตช์รวมจนเหลือแชมป์ 1 ทีม ตัวอย่าง: n = 10 → Output: 9 อัลกอริธึม วนลูปจน n == 1 แต่ละรอบ: f = n//2, remainder = n%2 สะสม ans += f, อัปเดต n = f + remainder โค้

  8. โปรแกรมจัดรูปแบบเบอร์โทรศัพท์ใน Python

    โจทย์ มีเบอร์โทรเป็นสตริง (ตัวเลข, เว้นวรรค, -) จัดรูปแบบใหม่: ลบ Space และ Dash ทั้งหมด จัดกลุ่ม 3 ตัวจากซ้าย จนเหลือ 4 ตัวหรือน้อยกว่า จัดกลุ่มท้าย: 2→[2], 3→[3], 4→[2,2] เชื่อมด้วย Dash ตัวอย่าง: s = 9-6-84102-4 7-8 → 968-410-24-78 อัลกอริธึม เก็บเฉพาะตัวเลข สร้าง Block ขนาด 3 จน

  9. โปรแกรมตรวจสอบครึ่งสตริงว่ามีสระเท่ากันหรือไม่ (Python)

    โจทย์ มีสตริง s ความยาวคู่ แบ่งครึ่งได้ a และ b ตรวจสอบว่าจำนวนสระ (a,e,i,o,u พิมพ์เล็ก/ใหญ่) ในทั้งสองครึ่งเท่ากันหรือไม่ ตัวอย่าง: s = talent → ครึ่ง: tal และ ent → สระแต่ละครึ่ง = 1 → True อัลกอริธึม แบ่งสตริงครึ่ง นับสระในแต่ละครึ่ง เปรียบเทียบจำนวน โค้ด Python def solve(s): vowel

  10. โปรแกรมหา Units สูงสุดที่บรรทุกบนรถบรรทุกได้ (Python)

    โจทย์ มีกล่องหลายประเภท boxTypes[i] = [จำนวนกล่อง, unitsต่อกล่อง] รถบรรทุกบรรทุกได้สูงสุด k กล่อง เลือกกล่องเพื่อให้ Units รวมมากที่สุด ตัวอย่าง: boxTypes = [[2,4],[3,3],[4,2]], k = 6 → เลือกประเภท 1 (2 กล่อง×4), ประเภท 2 (3 กล่อง×3), ประเภท 3 (1 กล่อง×2) = 8+9+2 = 19 อัลกอริธึม (Greedy) เรียง b

  11. โปรแกรมคำนวณเงินในธนาคาร (เพิ่มทุกวัน) ใน Python

    โจทย์ วันแรก (จันทร์) ฝาก 1 บาท วันถัดไปเพิ่ม 1 บาททุกวัน จนวันอาทิตย์ วันจันทร์ต่อไปฝากมากกว่าจันทร์ก่อน 1 บาท หาผลรวมหลัง n วัน ตัวอย่าง: n = 17 → Output: 75 อัลกอริธึม หนึ่งสัปดาห์ = 28 บาท (1+2+...+7) คำนวณสัปดาห์เต็มและวันที่เหลือ สัปดาห์ที่ k เริ่มที่ k บาท โค้ด Python 7: re

  12. โปรแกรมกู้คืน Array เดิมจาก XORed Array ใน Python

    โจทย์ มี Array arr ถูก Encode เป็น enc โดย enc[i] = arr[i] XOR arr[i+1] ได้รับ enc และ first (ค่าแรกของ arr) ต้องกู้คืน arr เดิม ตัวอย่าง: enc = [8,3,2,7], first = 4 → Output: [4, 12, 15, 13, 10] อัลกอริธึม เริ่ม arr = [first] วน i จาก 0 ถึง len(enc)-1: arr.append(arr[i] ^ enc[i]) คืน arr

  13. โปรแกรมหาจำนวนสี่เหลี่ยมที่ตัดได้เป็น Square ใหญ่สุด (Python)

    โจทย์ มีอาร์เรย์ rect ที่แต่ละ元素เป็น [len_i, wid_i] สามารถตัดเป็น Square ด้าน k ได้ถ้า k <= len_i และ k <= wid_i หา maxLen = ด้าน Square ใหญ่สุดจากทุกสี่เหลี่ยม แล้วนับว่ามีกี่สี่เหลี่ยมที่ตัดได้ด้าน maxLen ตัวอย่าง: rect = [[6,9],[4,10],[6,13],[17,6]] → ด้าน Square: [6,4,6,6] → Max = 6 → มี 3 สี่เห

  14. โปรแกรมหาความสูงสูงสุดในการเดินทาง (Highest Altitude) ใน Python

    โจทย์ นักปั่นจักรยานเริ่มที่ความสูง 0 มี Array gain ที่ gain[i] = ความสูงเพิ่ม/ลดระหว่างจุด i และ i+1 หาความสูงสูงสุดที่ถึง ตัวอย่าง: gain = [-4,2,6,1,-6] → ความสูง: [0,-4,-2,4,5,-1] → Max = 5 อัลกอริธึม สะสม Running Altitude ติดตาม Max ทุกขั้นตอน โค้ด Python def solve(gain): maximum =

  15. โปรแกรมหาเวลาที่ถูกต้องล่าสุดจากสตริงเวลาที่มี ? (Python)

    โจทย์ มีสตริงเวลา hh:mm บางตัวเป็น ? (Hidden) ต้องแทนที่ ? ให้ได้เวลาที่ถูกต้อง ล่าสุด (Latest) ตามนาฬิกา 24 ชม. (00:00 - 23:59) ตัวอย่าง: s = 1?:?5 → Output: 13:55 อัลกอริธึม กำหนด Max Time Template: [2,3,:,5,9] ปรับ Template: ถ้าชั่วโมง < 2 → นาทีสองหลักแรกเป็น 9; ถ้านาที 4-9 → ชั่วโมงหลักแร

  16. โปรแกรมหาจำนวนลูกบอลมากที่สุดในกล่อง (Digit Sum) ใน Python

    โจทย์ มีลูกบอลหมายเลข l ถึง r ใส่ในกล่องที่หมายเลข = ผลรวมหลักของหมายเลขลูกบอล (เช่น 123 → กล่อง 6) หากมี l และ r ให้หาจำนวนลูกบอลมากที่สุดในกล่องใดกล่องหนึ่ง ตัวอย่าง: l=15, r=25 → กล่อง 6 และ 7 มีลูกบอลมากที่สุด = 2 ลูก อัลกอริธึม ใช้ Dictionary นับจำนวนลูกบอลต่อกล่อง วน i จาก l ถึง r คำนวณ

  17. โปรแกรมหาผลรวม Unique Elements ใน Python

    โจทย์ มีอาร์เรย์ nums มีค่าซ้ำและค่า Unique ต้องการหาผลรวมของค่าที่เป็น Unique เท่านั้น (ปรากฏ 1 ครั้ง) ตัวอย่าง: nums = [5,2,1,5,3,1,3,8] → Unique: 2, 8 → ผลรวม = 10 อัลกอริธึม นับความถี่แต่ละค่าด้วย Counter วนลูปค่าที่ Frequency = 1 รวมกัน โค้ด Python from collections import Counter def

  18. โปรแกรมตรวจสอบ Array เรียงแล้วหมุน (Sorted and Rotated) ใน Python

    โจทย์ มีอาร์เรย์ nums ต้องตรวจสอบว่ามันเคยถูกเรียงลำดับ Non-decreasing แล้วหมุน (Rotate) ไปจำนวนหนึ่ง (อาจ 0) หรือไม่ อาจมีค่าซ้ำได้ ตัวอย่าง: nums = [12,15,2,5,6,9] → True (หมุนขวา 2 ตำแหน่ง จาก [2,5,6,9,12,15]) อัลกอริธึม หาจุดที่ลำดับแตก (หา j ที่ nums[j+1]) รวม Subarray หลังจุดแตก + Subar

  19. โปรแกรมหาจำนวนการเปลี่ยนบิตน้อยที่สุดเพื่อให้ Binary String สลับกัน (Python)

    โจทย์ มี Binary String s สามารถ Flip บิตได้ (0↔1) ต้องการให้ String เป็น Alternating (ไม่มีบิตติดกันเหมือนกัน) หาจำนวนครั้งน้อยที่สุดที่ต้อง Flip ตัวอย่าง: s = 11100011 → Output: 3 (Flip ตำแหน่ง 1, 4, 7 ได้ 10101010) อัลกอริธึม นับจำนวน 0 และ 1 ในตำแหน่งคู่ (Even) และคี่ (Odd) มี 2 รูปแบบ Alte

  20. โปรแกรม Copy N-ary Tree ใน Python (BFS)

    โจทย์ ได้รับ Root ของ N-ary Tree ต้องสร้าง Copy ของ Tree ทั้งหมด (Deep Copy) แล้วแสดง Preorder ของทั้งต้นฉบับและ Copy (จะเหมือนกันทุกอย่าง) อัลกอริธึม (BFS กับ Queue) สร้าง Node ใหม่สำหรับ Root ใช้ Deque เก็บคู่ (Original Node, Cloned Node) วนลูป Dequeue แล้ว Clone ลูกทุกตัว นำเข้าคิวต่อ โ

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:281/451  20-คอมพิวเตอร์/Page Goto:1 275 276 277 278 279 280 281 282 283 284 285 286 287