Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. หาคำร่วมระหว่างสองประโยคใน Python (Case-insensitive)

    ภาพรวม โจทย์หาจำนวนคำที่ซ้ำกันระหว่างสองประโยค โดยไม่สนใจตัวพิมพ์เล็ก/ใหญ่ (case-insensitive) ตัวอย่าง s0 = i love python coding s1 = coding in python is easy คำร่วม: python, coding → 2 โค้ด Python class Solution: def solve(self, s0, s1): s0 = s0.lower() s1 = s1.lower()

  2. ลำดับ Connell ใน Python

    ภาพรวม ลำดับ Connell สร้างโดยสลับกลุ่มเลขคี่-คู่ ขนาดกลุ่มเพิ่มทีละ 1: 1 เลขคี่: 1 2 เลขคู่: 2, 4 3 เลขคี่: 5, 7, 9 4 เลขคู่: 10, 12, 14, 16 ... ลำดับ: 1, 2, 4, 5, 7, 9, 10, 12, 14, 16, 17, 19, 21, ... สูตรคำนวณพจน์ที่ n หา i ที่ทำให้ i(i+1)/2 ≥ n+1 (ขนาดกลุ่มที่ครอบคลุม n) idx = i(i+1)/2 (ตำแหน

  3. ลบตัวอักษรซ้ำติดกันในสตริง R/L ด้วย Python

    ภาพรวม โจทย์ลบตัวอักษรซ้ำติดกันในสตริงที่ประกอบด้วย R และ L เท่านั้น ให้เหลือเพียงตัวอักษรสลับกัน (RLRL... หรือ LRLR...) ตัวอย่าง อินพุต: LLLRLRR กระบวนการ: L (เก็บ) → seen=L L (ซ้ำ seen) → ข้าม L (ซ้ำ seen) → ข้าม R (ต่าง seen) → เก็บ, seen=R L (ต่าง seen) → เก็บ, seen=L R (ต่าง seen) → เก็บ, see

  4. นับช่องว่างหลังลบมุมและเส้นทแยงใน Python

    ภาพรวม โจทย์หาจำนวนช่องที่เหลือบนกระดาน n×n หลังจากลบช่องที่อยู่บนเส้นทแยงมุมทั้ง 4 มุม (main diagonal และ anti-diagonal) ตัวอย่าง n=4 XOOX OXXO OXXO XOOX X = ลบ, O = เหลือ → เหลือ 8 ช่อง สูตรคณิตศาสตร์ result = n² - 2n + (n % 2) n²: ช่องทั้งหมด 2n: เส้นทแยง 2 เส้น (main + anti) แต่ละเส้น n ช

  5. นับสมาชิก x ที่มี x+1 อยู่ในลิสต์ Python

    ภาพรวม โจทย์นับจำนวนสมาชิก x ในลิสต์ที่มี x+1 อยู่ในลิสต์ด้วย (นับทุกครั้งที่เจอ x แม้จะซ้ำ) ตัวอย่าง อินพุต: [2, 3, 3, 4, 8] 2 → มี 3 อยู่ → นับ 1 3 (ตัวแรก) → มี 4 อยู่ → นับ 1 3 (ตัวที่สอง) → มี 4 อยู่ → นับ 1 4 → ไม่มี 5 → ไม่นับ 8 → ไม่มี 9 → ไม่นับ รวม 3 โค้ด Python class Solution: def

  6. นับจำนวนไดโนเสาร์ในสตริง Python

    ภาพรวม โจทย์นับจำนวนตัวอักษรในสตริง animals ที่เป็น ไดโนเสาร์ โดยไดโนเสาร์ถูกกำหนดโดยตัวอักษรที่ไม่ซ้ำในสตริง dinosaurs ตัวอย่าง animals = xyxzxyZ dinosaurs = yZ ไดโนเสาร์คือ y และ Z (case-sensitive) ใน animals: y ปรากฏ 2 ครั้ง, Z ปรากฏ 1 ครั้ง → รวม 3 โค้ด Python class Solution: def solve(sel

  7. การสลับดัชนีคู่และคี่ในลิสต์ Python

    ภาพรวม โจทย์สลับค่าที่ดัชนีคู่ (even index) ติดกัน และดัชนีคี่ (odd index) ติดกัน โดยข้ามทีละ 4 ตำแหน่ง ตัวอย่าง อินพุต: [1, 2, 3, 4, 5, 6, 7, 8, 9] ดัชนีคู่: 0,2,4,6,8 → สลับ (0↔2), (4↔6), 8 คงเดิม ดัชนีคี่: 1,3,5,7 → สลับ (1↔3), (5↔7) เอาต์พุต: [3, 4, 1, 2, 7, 8, 5, 6, 9] อัลกอริทึม วนลูป i จาก

  8. ตรวจสอบ Max Heap ใน Python

    ภาพรวม Max Heap เป็นโครงสร้างข้อมูลแบบต้นไม้เต็ม (Complete Binary Tree) ที่ค่าของโหนดแม่ (parent) มากกว่าหรือเท่ากับโหนดลูก (children) ทุกคู่ บทความนี้ตรวจสอบว่าลิสต์ตัวเลขที่กำหนดเป็น Max Heap ที่ถูกต้องหรือไม่ เงื่อนไข Max Heap (0-indexed array) โหนด i มีลูกซ้ายที่ 2i+1, ลูกขวาที่ 2i+2 ต้องมี =

  9. ตรวจสอบการเลือกตั้งซ้ำใน Python

    ภาพรวม โจทย์ตรวจสอบว่ามีผู้มีสิทธิเลือกตั้ง (voter) ที่ลงคะแนนซ้ำหรือไม่ โดยข้อมูลเป็นลิสต์ของคู่ [candidate_id, voter_id] ต้องคืน True ถ้ามี voter_id ซ้ำ ตัวอย่าง อินพุต: [[5, 1], [5, 0], [5, 4], [5, 3], [5, 0]] voter_id 0 ปรากฏ 2 ครั้ง → True วิธีแก้ (ใช้ Set) สร้าง Set ว่าง all_voters วนลูปแต่

  10. การหาระยะห่างน้อยที่สุดระหว่างสองคำในข้อความ Python

    ภาพรวม โจทย์หาจำนวนคำขั้นต่ำระหว่างคำสองคำ (word0, word1) ในข้อความ โดยวัดระยะทางเป็นจำนวนคำที่อยู่ระหว่างกัน ถ้าไม่พบคืน -1 ตัวอย่าง ข้อความ: cat dog abcd dog cat cat abcd dog wxyz word0 = abcd, word1 = wxyz ตำแหน่ง abcd: ดัชนี 2 และ 6 ตำแหน่ง wxyz: ดัชนี 10 ระยะห่างน้อยสุด: ระหว่างดัชนี 6 และ 10

  11. การวางโดมิโนบนกระดานใน Python

    ภาพรวม โจทย์หาจำนวนโดมิโนขนาด 1×2 สูงสุดที่วางบนกระดาน n×m ได้โดยไม่ทับซ้อนและไม่ล้นขอบ เนื่องจากโดมิโนแต่ละอันครอบคลุม 2 ช่อง คำตอบคือพื้นที่หาร 2 ปัดเศษทิ้ง สูตร max_dominos = (n × m) // 2 ตัวอย่าง อินพุต: n=5, m=3 พื้นที่ = 15, โดมิโนสูงสุด = 15 // 2 = 7 โค้ด Python class Solution: def sol

  12. การสร้างลำดับ Pattern แบบ Double-Reverse-Swap ใน Python

    ภาพรวม โจทย์สร้างลำดับสตริงตามกฎซ้ำซ้อน 3 ขั้นตอน เริ่มจาก xxy: Double: คูณสตริงด้วย 2 (ต่อท้ายตัวเอง) Reverse: กลับลำดับสตริง Swap: สลับ x ↔ y ทุกตัว ทำซ้ำ 3 ขั้นตอนนี้ไปเรื่อยๆ ลำดับตัวอย่าง nค่าขั้นตอน 0xxyเริ่มต้น 1xxyxxyDouble 2yxxyxxReverse 3xyyxyySwap 4xyyxyyxyyxyyDouble 5yyxyyxyyxyyxRev

  13. การลบสตริงย่อย "y" และ "xz" ในรอบเดียวด้วย Python

    ภาพรวม โจทย์ต้องการลบตัวอักษร y และสตริงย่อย xz ทั้งหมดออกจากสตริงที่กำหนดในการผ่านเพียงครั้งเดียว (conceptually) โดยใช้เมธอด replace() ของ Python ตัวอย่าง อินพุต: xyxxzyyxxzx ขั้นตอน: ลบ xz ทั้งหมด: xyxyyx ลบ y ทั้งหมด: xxxx เอาต์พุต: xxxx โค้ด Python class Solution: def solve(self, s):

  14. การสลับค่าตัวเลขคู่ติดกันในลิสต์ Python

    ภาพรวม โจทย์ต้องการสลับตำแหน่งของตัวเลขคู่ (even numbers) ที่อยู่ติดกันในลิสต์ โดยคู่แรกกับคู่ที่สองสลับกัน คู่ที่สามกับคู่ที่สี่สลับกัน เป็นต้น ตัวอย่าง อินพุต: [4, 5, 6, 8, 10] ตัวเลขคู่: 4, 6, 8, 10 (อยู่ตำแหน่ง 0, 2, 3, 4) สลับ 4↔6 และ 8↔10 → [6, 5, 4, 10, 8] อัลกอริทึม สร้างตัวแปร temp = Non

  15. การคำนวณแฟกทอเรียลใน Python แบบเรียกซ้ำ

    ภาพรวม แฟกทอเรียล (Factorial) ของจำนวน n เขียนว่า n! = n × (n-1) × (n-2) × ... × 1 โดยที่ 0! = 1 บทความนี้แสดงการคำนวณแบบเรียกซ้ำ (Recursive) ซึ่งเข้าใจง่ายและสอดคล้องกับนิยามทางคณิตศาสตร์ ตัวอย่าง อินพุต: 6 เอาต์พุต: 720 (เพราะ 6! = 6×5×4×3×2×1 = 720) โค้ด Python class Solution: def solve(sel

  16. ค้นหาลำดับย่อย "programmingquestion" ในสตริงด้วย Python

    ภาพรวม โจทย์นี้ตรวจสอบว่าสามารถหาคำว่า programmingquestion ได้จากสตริงที่กำหนด โดยเลือกตัวอักษรที่มีดัชนีห่างกันเท่ากัน (arithmetic progression) กล่าวคือ ต้องหาตัวอักษร p และ r แรก แล้วตรวจสอบว่าข้ามช่องว่างคงที่แล้วได้คำเต็มหรือไม่ ตัวอย่าง อินพุต: pzrzozgzrzazmzmziznzgzqzuzezsztzizozn เอาต์พุต: T

  17. โปรแกรม FizzBuzz ใน Python

    ภาพรวม FizzBuzz เป็นโจทย์คลาสสิกที่ใช้สอบทักษะการเขียนโปรแกรมพื้นฐาน โดยต้องแสดงตัวเลข 1 ถึง n แต่เปลี่ยนเป็นคำเฉพาะตามกฎ: หาร 3 ลงตัว → Fizz หาร 5 ลงตัว → Buzz หาร 3 และ 5 ลงตัว → FizzBuzz อื่นๆ → แสดงตัวเลขนั้นๆ ตัวอย่าง อินพุต: 15 เอาต์พุต: [1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fiz

  18. การกลับและกลับค่ามาทริกซ์ไบนารีใน Python

    ภาพรวม โจทย์นี้ต้องการให้ทำการกลับลำดับแถว (reverse) ของมาทริกซ์ไบนารี จากนั้นกลับค่าแต่ละบิต (0 กลายเป็น 1, 1 กลายเป็น 0) ซึ่งเป็นการดำเนินการที่พบได้บ่อยในการประมวลผลภาพและอัลกอริทึมต่างๆ ตัวอย่าง อินพุต: 110 010 001 เอาต์พุต: 100 101 011 ขั้นตอนการแก้ปัญหา วนลูปผ่านแต่ละแถวของมาทริกซ์

  19. การจัดข้อความในกรอบสี่เหลี่ยมด้วย Python

    ภาพรวม บทความนี้แสดงวิธีการจัดรายการคำให้อยู่ในกรอบสี่เหลี่ยมผืนผ้า โดยแต่ละคำจะอยู่บรรทัดละหนึ่งคำ และมีขอบดอกจัน (*) ล้อมรอบ ความกว้างของกรอบจะขึ้นอยู่กับคำที่ยาวที่สุดในรายการ ตัวอย่าง อินพุต: [hello, world, python, programming, nice] เอาต์พุต: *************** * hello * * world * * pytho

  20. จำนวนโปรแกรมเมอร์ที่ทำงานในเวลาที่กำหนดใน Python

    สมมติว่าเรามีรายการช่วงเวลาและอินพุตเวลาอีกตัวหนึ่ง ในแต่ละช่วงโครงสร้างคือ [start, end] แทนเวลาที่โปรแกรมเมอร์ทำงาน เราต้องหาจำนวนโปรแกรมเมอร์ที่กำลังทำงานในเวลานั้น ตัวอย่าง หากอินพุตคือ interval = [[2, 6], [4, 10], [5, 9], [11, 14]], time = 5 ผลลัพธ์จะเป็น 3 เนื่องจากที่เวลา 5 มีโปรแกรมเมอร์สามค

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