Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. ตรวจสอบว่าศัตรูทั้งหมดถูกกำจัดด้วยระเบิดที่วางในเมทริกซ์หรือไม่ใน Python

    สมมติว่าเรามีเมทริกซ์ mat มีค่าต่างๆ ดังนี้ เซลล์ของเมทริกซ์สามารถเก็บตัวอักษร 3 ตัวได้: 0 สำหรับพื้นที่ว่าง 1 สำหรับระเบิด 2 สำหรับศัตรู ระเบิดระเบิดได้เฉพาะแนวนอนและแนวตั้งจากปลายหนึ่งไปอีกปลายหนึ่ง เราต้องตรวจสอบว่าศัตรูทั้งหมดจะตายเมื่อระเบิดระเบิดหรือไม่ เช่น ถ้าอินพุตเป็น: 0020 0100 0200

  2. ตรวจสอบว่าตัวอักษรทุกตัวที่ปรากฏอยู่ติดกันในสตริงหรือไม่ใน Python

    สมมติว่าเรามีสตริง s และอีกตัวอักษรหนึ่ง c เราต้องตรวจสอบว่าตัวอักษร c ปรากฏอยู่ติดกันใน s ทุกครั้งหรือไม่ ถ้าตัวอักษร c ไม่อยู่ใน s ให้คืนค่า true เช่นกัน เช่น ถ้าอินพุตเป็น s = bbbbaaaaaaaccddd, c = a ผลลัพธ์จะเป็น True ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้: flag := False index := 0 n := ขนาด

  3. ตรวจสอบว่าทุกคนสามารถลงคะแนนเสียงบนเครื่องจักรสองเครื่องได้หรือไม่ใน Python

    สมมติว่าเรามีตัวเลข n แทนจำนวน n คน และมีเครื่องจักรโหวตสองเครื่องที่เหมือนกัน เรายังมีอาร์เรย์ชื่อ time ขนาด n โดยที่ time[i] แทนเวลาทั้งหมดที่คนที่ i ใช้ในการโหวตบนเครื่องใดก็ได้ ในแต่ละช่วงเวลา จะมีคนอยู่บนเครื่องแต่ละเครื่องได้เพียงคนเดียว เรายังมีค่า x อีกค่า แทนเวลาสูงสุดที่อนุญาตให้เครื่องจั

  4. ตรวจสอบว่าตัวเลขย่อยทุกตัวมีผลคูณหลักต่างกันหรือไม่ใน Python

    ภาพรวม บทความนี้ตรวจสอบว่า ตัวเลขย่อย (sub-numbers) ทุกตัวของเลข n มี ผลคูณหลัก (digit product) ที่ไม่ซ้ำกันหรือไม่ ตัวเลขย่อยคือเลขที่สร้างจากหลักติดกันของเลขต้นฉบับ ตัวอย่าง เลข 135 มีตัวเลขย่อย: 1, 3, 5, 13, 35, 135 ผลคูณหลัก: 1, 3, 5, 3, 15, 15 → มีซ้ำ (3 และ 15) → คืนค่า False เลข 235 มีตัวเลข

  5. ตรวจสอบว่า 1 ในสตริงไบนารีมีระยะห่างเท่ากันทุกคู่หรือไม่ใน Python

    ภาพรวม บทความนี้ตรวจสอบว่าในสตริงไบนารี ตัว 1 ทุกตัวมีระยะห่างเท่ากันหรือไม่ (equidistant) โดยสตริงต้องมี 1 อย่างน้อย 2 ตัว อัลกอริทึม เก็บดัชนีของทุกตัว 1 ไว้ในลิสต์ index คำนวณระยะห่างระหว่าง 1 ตัวแรกและตัวที่สอง (index[1] - index[0]) ตรวจสอบว่าระยะห่างระหว่าง 1 ทุกคู่ที่ติดกัน เท่ากับระยะ

  6. ตรวจสอบว่าสตริงมีพาลินโดรมย่อยเฉพาะความยาวคี่หรือไม่ใน Python

    ภาพรวม บทความนี้ตรวจสอบว่าสตริง s มีพาลินโดรมย่อย (palindromic substring) ที่มีความยาวเป็นเลขคู่หรือไม่ ถ้ามี คืนค่า False (เพราะโจทย์ต้องการเฉพาะความยาวคี่) ข้อสังเกตสำคัญ พาลินโดรมความยาวคู่ที่สั้นที่สุดคือ 2 ตัวอักษรที่ติดกันเหมือนกัน (เช่น aa, bb) ดังนั้น ตรวจสอบแค่ว่ามีตัวอักษรติดกัน 2 ตัวที่เ

  7. ตรวจสอบว่าแอรเรย์แบ่งเป็นคู่ที่ผลรวมหาร k ลงตัวได้หรือไม่ใน Python

    ภาพรวม บทความนี้แก้ปัญหา: กำหนดแอรเรย์และเลข k ต้องการทราบว่าแบ่งแอรเรย์เป็นคู่ได้หรือไม่ ที่ผลรวมของแต่ละคู่ หาร k ลงตัว หลักการทางคณิตศาสตร์ สองจำนวน a, b มีผลรวมหาร k ลงตัว ก็ต่อเมื่อ (a%k + b%k) % k == 0 กล่าวคือ เศษของ a และ b ต้อง เติมกัน ให้ครบ k (เช่น เศษ 2 กับเศษ 5 เมื่อ k=7) อัลกอริทึม

  8. ตรวจสอบว่าแอรเรย์มีทุก元素ในช่วงที่กำหนดหรือไม่ใน Python

    ภาพรวม บทความนี้แสดงวิธีตรวจสอบว่าแอรเรย์ nums มีทุก元素 ในช่วง [x, y] ครบหรือไม่ โดยใช้เทคนิค ทำเครื่องหมายด้วยเครื่องหมายลบ (negation marking) เพื่อใช้พื้นที่ O(1) เพิ่มเติม อัลกอริทึม คำนวณขนาดช่วง temp_range = y - x วนลูปผ่าน nums: ถ้า |nums[i]| อยู่ในช่วง [x, y] ให้ทำเครื่องหมายที่ดัชนี z =

  9. ตรวจสอบว่าแอรเรย์เรียงแล้วและหมุน (sorted and rotated) หรือไม่ใน Python

    ภาพรวม บทความนี้ตรวจสอบว่าแอรเรย์ที่มีค่าไม่ซ้ำกัน เป็น แอรเรย์ที่เรียงแล้วและหมุน (sorted and rotated) หรือไม่ โดยต้องมีการหมุนอย่างน้อย 1 ครั้ง (แอรเรย์เรียงสมบูรณ์ไม่นับ) คุณสมบัติของ Sorted and Rotated Array มีจุดที่ค่าต่ำสุด (min) อยู่ที่ตำแหน่งหนึ่ง ส่วนก่อน min เรียงเพิ่มขึ้น ส่วนหลัง

  10. ตรวจสอบว่าแอรเรย์ของ 1 และ 2 แบ่งเป็น 2 ส่วนที่มีผลรวมเท่ากันได้หรือไม่ใน Python

    ภาพรวม บทความนี้แก้ปัญหา: กำหนดแอรเรย์ที่มีเฉพาะเลข 1 และ 2 ต้องการทราบว่าแบ่งเป็น 2 ส่วนที่มีผลรวมเท่ากันได้หรือไม่ ข้อสังเกตสำคัญ ผลรวมทั้งหมดต้องเป็นเลขคู่ (ถ้าเป็นคี่ แบ่งไม่ได้) ครึ่งหนึ่งของผลรวม (target) ต้องสามารถสร้างได้จากการรวม 1 และ 2 อัลกอริทึม คำนวณผลรวมทั้งหมด (total) และนั

  11. ตรวจสอบว่าแอรเรย์เป็น Inorder Traversal ของ BST หรือไม่ใน Python

    ภาพรวม บทความนี้แสดงวิธีตรวจสอบว่าแอรเรย์ที่กำหนด เป็นลำดับการเดินทาง Inorder ของ Binary Search Tree (BST) หรือไม่ คุณสมบัติสำคัญของ BST Inorder traversal คือ ให้ค่าตามลำดับจากน้อยไปมาก (strictly increasing) อัลกอริทึม ถ้าแอรเรย์ว่างหรือมี 1 元素 คืนค่า True ตรวจสอบว่าแต่ละ元素 มีค่าน้อยกว่า元素 ถัด

  12. ตรวจสอบว่าการเข้ารหัสแทนสตริงไบนารีที่ไม่ซ้ำกันหรือไม่ใน Python

    ภาพรวม บทความนี้อธิบายวิธีตรวจสอบว่า การเข้ารหัส (encoding) ที่กำหนด สามารถระบุสตริงไบนารีที่มีความยาว k ได้อย่างเดียว (uniquely) หรือไม่ การเข้ารหัสเก็บจำนวนของ 1 ที่ติดกัน (contiguous 1s) ซึ่งคั่นด้วย 0 เดียว ตัวอย่าง encoding = [4, 2, 3] หมายถึง สตริงไบนารี: 1111 0 11 0 111 = 11110110111 (ความยา

  13. ตรวจสอบว่าเลขจำนวนเต็มสามารถเขียนเป็นผลรวมของสองเซมีไพรม์ได้หรือไม่ใน Python

    ภาพรวม บทความนี้แสดงวิธีตรวจสอบว่าเลข n สามารถเขียนในรูปผลรวมของเซมีไพรม์ (semi-prime) สองจำนวนได้หรือไม่ เซมีไพรม์คือเลขที่เป็นผลคูณของจำนวนเฉพาะสองจำนวน (อาจเป็นจำนวนเฉพาะตัวเดียวกันได้ เช่น 4 = 2×2) เซมีไพรม์ตัวอย่าง (1-100) 4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55

  14. ตรวจสอบว่าแอนนาซแกรมของสตริงเป็นพาลินโดรมได้หรือไม่ใน Python

    ภาพรวม บทความนี้อธิบายวิธีตรวจสอบว่าสตริงที่กำหนดสามารถจัดเรียงตัวอักษรใหม่ (anagram) ให้กลายเป็นพาลินโดรม (palindrome) ได้หรือไม่ เงื่อนไขสำคัญ สตริงสามารถจัดเป็นพาลินโดรมได้ ก็ต่อเมื่อ ตัวอักษรที่มีความถี่คี่ (odd frequency) มีได้มากสุด 1 ตัวเท่านั้น (สำหรับสตริงความยาวคี่) หรือไม่มีเลย (สำหรับสต

  15. ตรวจสอบว่ามีช่วงเวลาที่ทับซ้อนกันสมบูรณ์หรือไม่ใน Python

    ภาพรวม บทความนี้แนะนำวิธีตรวจสอบว่ามีช่วงเวลา (interval) ใดช่วงหนึ่งที่ ทับซ้อนกันสมบูรณ์ (completely overlap) กับอีกช่วงหนึ่งในชุดข้อมูลหรือไม่ โดยช่วงเวลาถูกแทนด้วยคู่ (start, end) เงื่อนไขการทับซ้อนสมบูรณ์ ช่วงเวลา (a, b) ทับซ้อนสมบูรณ์กับ (c, d) ถ้า a <= c และ = d (หรือในทางกลับกัน) กล่าวคือ ช่

  16. ตรวจสอบว่าเลขใหญ่หาร 17 ลงตัวหรือไม่ใน Python

    ภาพรวม บทความนี้สาธิตวิธีตรวจสอบความหารลงตัวด้วย 17 โดยใช้ วิธีการลบซ้ำ (repeated subtraction method) ซึ่งคล้ายกับวิธีสำหรับ 19 แต่ใช้การลบแทนการบวก หลักการทำงาน นำหลักสุดท้ายของเลขมาคูณด้วย 5 ลบผลคูณออกจากเลขที่เหลือ (หลังจากตัดหลักสุดท้ายออก) ทำซ้ำจนกว่าเลขจะเหลือ 2 หลัก ตรวจสอบว่าเลข 2

  17. ตรวจสอบว่าเลขใหญ่หาร 19 ลงตัวหรือไม่ใน Python

    ภาพรวม บทความนี้แสดงวิธีการตรวจสอบว่าเลขจำนวนมาก (large number) หารด้วย 19 ลงตัวหรือไม่ โดยใช้วิธี การบวกซ้ำ (repeated addition method) ซึ่งเป็นอัลกอริทึมที่มีประสิทธิภาพและไม่ต้องใช้การหารโดยตรงกับเลขใหญ่ทั้งหมด หลักการทำงาน นำหลักสุดท้ายของเลขมาคูณด้วย 2 นำผลคูณมาบวกกับเลขที่เหลือ (หลังจากตั

  18. ตรวจสอบว่ามี permutation ของตัวเลขใหญ่ที่หาร 8 ลงตัว ใน Python

    ปัญหา ให้ตัวเลขใหญ่ในรูปสตริง input_num ตรวจสอบว่ามี permutation ใดที่หาร 8 ลงตัวหรือไม่ ทฤษฎีสำคัญ ตัวเลขหาร 8 ลงตัว ⟺ 3 หลักสุดท้าย หาร 8 ลงตัว ดังนั้น ต้องหา permutation 3 หลักจากหลักของตัวเลขที่หาร 8 ลงตัว แนวคิดการแก้ปัญหา ถ้าความยาว < 3: เช็คตัวเลขโดยตรงและตัวเลขกลับหลัก นับความถี่หลักในตั

  19. ตรวจสอบว่ามี permutation ของตัวเลขที่เป็นพาลินโดรมและหาร 3 ลงตัว ใน Python

    ปัญหา ให้ตัวเลขใหญ่ N ตรวจสอบว่ามีการจัดเรียงหลักใหม่ที่เป็นพาลินโดรมและหาร 3 ลงตัวหรือไม่ เงื่อนไข หาร 3 ลงตัว: ผลรวมหลักต้องหาร 3 ลงตัว เป็นพาลินโดรมได้: หลักที่มีความถี่คี่ ≤ 1 ตัว ตัวอย่าง N = 132213 → ผลรวมหลัก = 12 (หาร 3 ลงตัว), ความถี่: 1:2, 2:2, 3:2 → ทุกค่าคู่ → True โค้ดตัวอย่าง 1:

  20. ตรวจสอบว่ามี permutation ของ N ที่เป็นกำลังของ K หรือไม่ ใน Python

    ปัญหา ให้จำนวน n และ m ตรวจสอบว่ามี permutation ของหลักของ n ที่เท่ากับ m^k สำหรับ k ≥ 1 หรือไม่ ตัวอย่าง n = 7182, m = 12 12³ = 1728 → permutation ของ 7182 → True แนวคิดการแก้ปัญหา สร้างกำลังของ m จนเกิน 10¹⁸ สำหรับแต่ละกำลัง ตรวจสอบว่าเป็น permutation ของ n (นับความถี่หลัก) โค้ดตัวอย่าง from

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:209/451  20-คอมพิวเตอร์/Page Goto:1 203 204 205 206 207 208 209 210 211 212 213 214 215