Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. จำนวนการลบน้อยที่สุดจากอาร์เรย์เพื่อให้ GCD เพิ่มขึ้นใน Python

    ลบสมาชิกน้อยที่สุดเพื่อเพิ่ม GCD ของอาร์เรย์ กำหนดอาร์เรย์ N ตัวเลข ต้องการหาจำนวนสมาชิกที่ต้องลบน้อยที่สุด เพื่อให้ GCD ของสมาชิกที่เหลือ มากกว่า GCD เดิมของอาร์เรย์ทั้งหมด ตัวอย่าง: [6, 9, 15, 30] → GCD เดิม = 3 ลบ 6, 9 เหลือ [15, 30] 3 → ลบ 2 ตัว แนวคิดหลัก คำนวณ GCD ทั้งอาร์เรย์ เรียกว่า g

  2. หาคู่ตัวเลขจากอาร์เรย์ที่ให้ค่า nCr สูงสุดใน Python

    หาคู่ (n, r) ที่ทำให้ nCr มากที่สุด กำหนดอาร์เรย์ arr ขนาด n ต้องการหาคู่ arr[i] และ arr[j] ที่ทำให้ arr[i] C arr[j] (จำนวนวิธีเลือก) มีค่ามากที่สุด หากมีหลายคู่ ให้คืนคู่ใดคู่หนึ่ง ตัวอย่าง: [4, 1, 2] → คู่ (4, 2) เนื่องจาก 4C2 = 6 สูงสุด สังเกตสำคัญ สำหรับ n คงที่ ค่า nCr จะมากที่สุดเมื่อ r ใกล้

  3. หา Complete Subtree ใหญ่ที่สุดใน Binary Tree ด้วย Python

    ค้นหา Complete Subtree ที่มีขนาดใหญ่ที่สุด Complete Binary Tree คือต้นไม้ไบนารีที่ทุกระดับเต็มไปด้วยโหนด ยกเว้นระดับสุดท้ายที่อาจไม่เต็ม และโหนดในระดับสุดท้ายต้องชิดซ้ายมากที่สุด โจทย์: หาขนาด (จำนวนโหนด) ของ Complete Subtree ที่ใหญ่ที่สุดใน Binary Tree ที่กำหนด แนวคิดการแก้ปัญหา ใช้การท่องต้นไม้แบ

  4. หาเลขยกกำลังสามมากที่สุดจากการลบหลักสัมประสิทธิ์น้อยที่สุดใน Python

    หา Cube มากที่สุดที่ได้จากการลบหลักของตัวเลข กำหนดตัวเลข N ต้องการหาเลขยกกำลังสาม (Perfect Cube) ที่ใหญ่ที่สุดซึ่งสามารถสร้างได้โดยการลบหลักสัมประสิทธิ์ (Digits) ออกจาก N น้อยที่สุด (อาจลบ 0 หลัก) เลขยกกำลังสามคือตัวเลขที่เขียนในรูป M³ สำหรับจำนวนเต็ม M ตัวอย่าง: N = 806 → ลบ 0 และ 6 ได้ 8 ซึ่งเป็น

  5. ตรวจสอบวงเล็บสมดุลในนิพจน์ ด้วยพื้นที่ O(1) และเวลา O(N²) ใน Python

    ตรวจสอบวงเล็บสมดุลแบบประหยัดหน่วยความจำ กำหนดสตริง str ที่ประกอบด้วยวงเล็บ (, ), {, }, [, ] ต้องการตรวจสอบว่าวงเล็บสมดุลหรือไม่ วงเล็บสมดุลหมายถึง: วงเล็บเปิดและปิดเป็นคู่ประเภทเดียวกัน วงเล็บปิดตามลำดับที่ถูกต้อง (LIFO) ตัวอย่าง: {([])} → True อัลกอริทึม (O(1) space, O(N²) time) แนวคิดคือใช้

  6. วิธีตรวจสอบ Binary Tree ว่าสมดุลความสูงแบบ Red-Black Tree ด้วย Python

    ตรวจสอบ Binary Tree ว่าสมดุลแบบ Red-Black Tree ใน Red-Black Tree ความสูงสูงสุดของโหนดจะไม่เกินสองเท่าของความสูงต่ำสุด สำหรับ Binary Search Tree ทั่วไป เราต้องตรวจสอบคุณสมบัติดังนี้: สำหรับทุกโหนด ความยาวของเส้นทางจากโหนดไปยังใบที่ไกลที่สุด (longest leaf-to-node path) ต้องไม่เกินสองเท่าของจำนวนโหนดบน

  7. ตรวจสอบ Binary Tree เป็น Heap ใน Python

    ภาพรวม โจทย์ตรวจสอบว่า Binary Tree เป็น Heap หรือไม่ เงื่อนไข 2 ข้อ: Complete Binary Tree: ทุกระดับเต็ม ยกเว้นระดับสุดท้ายที่เต็มซ้าย Heap Property (Max-Heap): โหนดแม่ ≥ โหนดลูก ทุกคู่ โค้ด Python = node_count: return False return (self.is_complete_tree(root.left, 2*index+1, n

  8. ตรวจสอบสตริงเป็นตัวเลขที่ถูกต้องใน Python

    ภาพรวม โจทย์ตรวจสอบว่าสตริงแทนตัวเลขที่ถูกต้องหรือไม่ (รองรับทศนิยม, ลบ, วิทยาศาสตร์) ตัวอย่าง InputOutput 0.2True abcFalse HelloFalse -2.5True 10True วิธี Pythonic: Try/Except (EAFP) def isNumeric(s): s = s.strip() try: float(s) return True except ValueError:

  9. ตรวจสอบ Key อยู่ในทุก Segment ขนาด K ใน Python

    ภาพรวม โจทย์ตรวจสอบว่าคีย์ p ปรากฏในทุก segment (ช่วง) ขนาด k ของอาร์เรย์หรือไม่ ตัวอย่าง A = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4] p = 4, k = 3 Segments: [4,6,3], [5,10,4], [2,8,4], [12,13,4] → ทุก segment มี 4 → True อัลกอริทึม วนลูป segment เริ่มต้นที่ i=0, i+=k ในแต่ละ segment หา p ถ้าไม่เจ

  10. ตรวจสอบว่ากษัตริย์สามารถเดินได้หรือไม่เมื่อมี N ม้าบนกระดานหมากรุกที่ปรับเปลี่ยนใน Python

    สมมติว่าเรามีกระดานหมากรุกอันสิ้นสุดที่มีกฎเหมือนหมากรุก และมีพิกัดของ N ม้าบนกระดานอันสิ้นสุดและพิกัดของกษัตริย์ เราต้องตรวจสอบว่ากษัตริย์ถูกเช็กเมทหรือไม่ พิกัดของกระดานอันสิ้นสุดถูกจำกัดด้วยค่ามาก เช่น (-10^9 <= x, y <= 10^9) ตัวอย่าง หากอินพุตคือตำแหน่งม้า = [[2,1],[1,3],[3,6],[5,5],[6,1],[7,3]

  11. ตรวจสอบ Trojan Number ใน Python

    ภาพรวม Trojan Number = Strong Number (ทุกเฉพาะ因數ปรากฏ ≥ 2 ครั้ง) ที่ไม่ใช่ Perfect Power Strong ≈ Powerful แต่เน้นที่ความถี่ของ prime factors ตัวอย่าง 72 = 2³ × 3² Strong: 2 ปรากฏ 3 ครั้ง, 3 ปรากฏ 2 ครั้ง ✓ Perfect Power: 72 ไม่ใช่ aᵇ ✓ → True โค้ด Python from math import sqrt def check_perfect

  12. ตรวจสอบ Achilles Number ใน Python

    ภาพรวม Achilles Number คือจำนวนที่เป็น Powerful แต่ไม่ใช่ Perfect Power Powerful: ทุกเฉพาะ因數 p ของ n มี p² หาร n ลงตัว (พยัญชนะปรากฏ ≥ 2 ครั้ง) Perfect Power:1 ตัวอย่าง 108 = 2² × 3³ Powerful: 2²|108, 3²|108 ✓ Perfect Power: 108 ไม่ใช่ aᵇ → ✓ → True โค้ด Python from math import sqrt, log def

  13. ตรวจสอบ Primorial Prime ใน Python

    ภาพรวม Primorial Prime คือจำนวนเฉพาะที่อยู่ในรูป pₙ# + 1 หรือ pₙ# - 1 โดย pₙ# = ผลคูณของจำนวนเฉพาะ n ตัวแรก (Primorial) ตัวอย่าง n = 29 Primorial N=3: 2×3×5 = 30 30 - 1 = 29 → 29 เป็น Primorial Prime (รูป pₙ# - 1) → True อัลกอริทึม Sieve of Eratosthenes หาจำนวนเฉพาะทั้งหมด ≤ MAX ถ้า n ไม่ใช่จำนวน

  14. Heap ใน C++ STL: make_heap, push_heap, pop_heap, sort_heap

    ภาพรวม บทความอธิบายฟังก์ชัน Heap ใน C++ STL () สำหรับจัดการ Max Heap ฟังก์ชันหลัก ฟังก์ชันหน้าที่ make_heap(first, last)แปลง range เป็น heap push_heap(first, last)เพิ่ม element (ต้อง push_back ก่อน) pop_heap(first, last)ลบ max element (ย้ายไป last, ต้อง pop_back) sort_heap(first, last)เรียง heap

  15. สร้าง BST จาก Postorder Traversal ใน Python

    ภาพรวม โจทย์สร้าง BST จาก postorder traversal โดยใช้ข้อเท็จจริงว่า Inorder ของ BST = sorted(postorder) ตัวอย่าง Postorder: [3, 9, 20, 15, 7] Inorder (sorted): [3, 7, 9, 15, 20] Tree ที่ได้ (Inorder print): 3, 7, 9, 15, 20 โค้ด Python class TreeNode: def __init__(self, data, left=None, right=No

  16. สร้าง Binary Tree จาก Postorder และ Inorder ใน Python

    ภาพรวม โจทย์สร้าง Binary Tree จาก inorder และ postorder traversal sequences หลักการ Postorder: Left, Right, Root → ตัวสุดท้ายคือ Root Inorder: Left, Root, Right → หา Root ใน inorder แบ่ง Left/Right subtree Recursive build ตัวอย่าง Inorder: [9, 3, 15, 20, 7] Postorder: [9, 15, 7, 20, 3] Root = 3

  17. สร้าง BST จาก Postorder Traversal ด้วย Stack ใน Python

    ภาพรวม โจทย์สร้าง Binary Search Tree (BST) จาก postorder traversal sequence โดยใช้ Stack (Iterative approach) ตัวอย่าง Postorder: [6, 12, 10, 55, 45, 15] BST ที่ได้ (Inorder): 6 10 12 15 45 55 อัลกอริทึม Stack-based ราก = ตัวสุดท้ายของ postorder (15) Push root ลง stack เดิน postorder จากท้ายไปหน้

  18. สร้าง DataFrame ใน Pandas จากข้อมูลสตริงใน Python

    ภาพรวม บทความสอนสร้าง pandas DataFrame จากข้อมูลสตริง (CSV format) โดยใช้ io.StringIO จำลองไฟล์ โค้ด Python import pandas as pd from io import StringIO str_data = StringIO(Id;Subject;Course_Fee 10;DBMS;3000 11;Basic Maths;2000 12;Data Science;40000 13;Algorithm;5000) df = pd.read_csv(str_data, se

  19. สร้างอาร์เรย์สมาชิกไม่ซ้ำ ขนาด Sum และค่าสูงสุดกำหนดใน Python

    ภาพรวม โจทย์สร้างอาร์เรย์ขนาด N สมาชิกไม่ซ้ำ ผลรวม = SUM ค่าสูงสุด ≤ K คืน -1 ถ้าไม่ได้ ตัวอย่าง N=4, SUM=16, K=9 ค่าต่ำสุดที่เป็นไปได้: 1+2+3+4 = 10 ค่าสูงสุดที่เป็นไปได้: 9+8+7+6 = 30 16 อยู่ในช่วง → มีคำตอบ อาร์เรย์: [1, 2, 4, 9] (ผลรวม 16, max 9, ไม่ซ้ำ) อัลกอริทึม (Greedy จากค่าสูงสุด) เริ่ม

  20. สร้าง Linked List ผลรวมสูงสุดจาก 2 Sorted Lists ใน Python

    ภาพรวม โจทย์: กำหนด 2 sorted linked lists ที่มีโหนดบางตัวซ้ำกัน (common nodes) สร้าง linked list ใหม่ที่มีผลรวมค่าโหนดมากที่สุดจาก head ถึง tail สลับ list ได้เฉพาะที่โหนดซ้ำ (intersection) ตัวอย่าง List A: 6 → 8 → 35 → 95 → 115 → 125 List B: 5 → 8 → 17 → 37 → 95 → 105 → 125 → 135 Common nodes: 8, 9

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:165/451  20-คอมพิวเตอร์/Page Goto:1 159 160 161 162 163 164 165 166 167 168 169 170 171