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

    สมมติว่าเรามีสตริงตัวพิมพ์เล็ก ภารกิจของเราคือกลับลำดับสระที่อยู่ในสตริง เช่นถ้าสตริงคือ hello สตริงหลังกลับสระจะเป็น holle สำหรับสตริง programming จะเป็น prigrammong วิธีการแก้ปัญหา รับสตริงและสร้างรายการสระพร้อมเก็บดัชนีของมัน กลับลำดับรายการสระ ตั้งค่า idx := 0 สำหรับ i := 0 ถึง ความยาวของสตริง

  2. การหาส่วนร่วมของสองอาร์เรย์ II ใน Python

    สมมติว่าเรามีอาร์เรย์สองอันคือ A และ B มีองค์ประกอบอยู่บ้าง เราต้องหาส่วนร่วมของพวกมัน เช่นถ้า A = [1, 4, 5, 3, 6] และ B = [2, 3, 5, 7, 9] ส่วนร่วมจะเป็น [3, 5] วิธีการแก้ปัญหา รับอาร์เรย์สองอัน A และ B ถ้าความยาวของ A น้อยกว่าความยาวของ B ให้สลับกัน คำนวณความถี่ขององค์ประกอบในอาร์เรย์และเก็บไว้ใน

  3. เส้นผ่านศูนย์กลางของต้นไม้แบบทวิภาคใน Python

    สมมติว่าเรามีต้นไม้แบบทวิภาค เราต้องคำนวณความยาวของเส้นผ่านศูนย์กลางของต้นไม้ เส้นผ่านศูนย์กลางของต้นไม้แบบทวิภาคคือความยาวของเส้นทางที่ยาวที่สุดระหว่างโหนด任意สองโหนดในต้นไม้ เส้นทางนี้ไม่จำเป็นต้องผ่านราก (root) เช่น ถ้าต้นไม้เป็นแบบด้านล่าง เส้นผ่านศูนย์กลางจะเป็น 3 เนื่องจากความยาวของเส้นทาง [4,2,

  4. การแบ่งอาร์เรย์ I ใน Python

    สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม 2n ตัว เราต้องจัดกลุ่มจำนวนเต็มเหล่านี้เป็น n คู่ของจำนวนเต็ม เช่น (a1, b1), (a2, b2), ..., (an, bn) ซึ่งทำให้ผลรวมของ min(ai, bi) สำหรับทุก i ในช่วง 1 ถึง n ใหญ่ที่สุดเท่าที่จะเป็นได้ เช่นถ้าอินพุตคือ [1, 4, 3, 2] ผลลัพธ์จะเป็น 4 n คือ 2 และผลรวมสูงสุดของคู่คือ 4 น

  5. อัญมณีและหินใน Python

    สมมติว่าเรามีสตริง J ที่บ่งบอกตัวอักษรบางตัวที่ถือว่าเป็นอัญมณี และอีกสตริง S หนึ่ง ที่แทนหินที่เรามี ภารกิจของเราคือหาว่ามีหินใน S กี่อันที่เป็นอัญมณีด้วย ตัวอักษรใน J และ S ควบคุมตัวพิมพ์เล็ก-ใหญ่ (case sensitive) เช่น ถ้า J = aZc และ S = catTableZebraPicnic จะมีอัญมณี 7 อัน ในการแก้ปัญหานี้ เราจ

  6. หมุนสตริงใน Python

    สมมติว่าเรามีสตริงสองตัว A และ B เราจะหมุนสตริง A และตรวจสอบว่าตรงกับ B ในตำแหน่งใดตำแหน่งหนึ่งของการหมุนหรือไม่ ถ้าใช่ให้คืนค่า true ไม่เช่นนั้นคืนค่า false เช่น ถ้า A = abcde และ B = bcdea คำตอบจะเป็น true เนื่องจาก A สามารถแปลงเป็น B ได้หลังจากหมุน วิธีการแก้ปัญหา เมื่อ A และ B ทั้งคู่ว่าง ให้ค

  7. Goat Latin ใน Python

    สมมติว่าเรามีชุดของสตริง (ประโยค) ในชุดนั้นมีหลายคำ แต่ละคำประกอบด้วยตัวอักษรพิมพ์เล็กและพิมพ์ใหญ่ ภารกิจของเราคือแปลงประโยคให้อยู่ในรูปแบบ Goat-Latin Goat Latin คล้ายกับ Pig Latin มีเงื่อนไขดังนี้: ถ้าคำขึ้นต้นด้วยสระ ให้ต่อท้ายด้วย ma ถ้าคำขึ้นต้นด้วยพยัญชนะ ให้เอาตัวแรกออกไปต่อท้าย แล้วต่อ ma ต

  8. การแลกเปลี่ยนลูกอมอย่างเป็นธรรมใน Python

    สมมติว่า A และ B เป็นเพื่อนสองคน พวกเขามีแท่งลูกอมขนาดต่างกัน A[i] คือขนาดของแท่งลูกอมที่ i ของ A และ B[j] คือขนาดของแท่งลูกอมที่ j ของ B เนื่องจากพวกเขาเป็นเพื่อน พวกเขาจึงต้องการแลกเปลี่ยนแท่งลูกอมหนึ่งแท่งแต่ละคน เพื่อให้หลังการแลกเปลี่ยน ทั้ง A และ B มีปริมาณลูกอมรวมเท่ากัน (ปริมาณลูกอมรวมของแต

  9. จัดเรียงอาร์เรย์ตามพาริตีใน Python

    สมมติว่าเรามีอาร์เรย์ A ที่มีตัวเลขบางจำนวน เราต้องจัดเรียงตัวเลขให้เป็นเลขคู่ก่อนแล้วค่อยเลขคี่ นั่นคือวางเลขคู่ไว้หน้าสุด จากนั้นจึงเลขคี่ เช่น ถ้าอาร์เรย์เป็น A = [1, 5, 6, 8, 7, 2, 3] ผลลัพธ์จะเป็น [6, 8, 2, 1, 5, 7, 3] วิธีการแก้ปัญหา ตั้งค่า i := 0 และ j := 0 while j < ขนาดของ arr: ถ้า

  10. กลับตัวอักษรภาษาอังกฤษเท่านั้นใน Python

    สมมติว่าเรามีสตริง S เราต้องหาสตริงที่กลับตัวอักษรภาษาอังกฤษเท่านั้น โดยตัวอักษรที่ไม่ใช่ภาษาอังกฤษจะไม่เปลี่ยนตำแหน่ง และตัวอักษรภาษาอังกฤษจะกลับตำแหน่งกันไป เช่น ถ้าสตริงที่กำหนดคือ a-bC-dEf-ghIj ผลลัพธ์จะเป็น j-Ih-gfE-dCba วิธีการแก้ปัญหา ใช้ไลบรารี regular expression ในการแก้ปัญหา ถ้า S ว่าง ใ

  11. ผลรวมของเลขคู่หลังจากการคิวรีใน Python

    สมมติว่าเรามีอาร์เรย์ของจำนวนเต็มที่เรียกว่า A และอาร์เรย์คิวรี สำหรับคิวรีที่ i-th ค่าจะเป็น queries[i][0] และดัชนีจะเป็น queries[i][1] เราจะเพิ่มค่าเข้าไปใน A[index] จากนั้นคำตอบของคิวรีที่ i-th คือผลรวมของค่าที่เป็นเลขคู่ของ A เราต้องหาคำตอบสำหรับคิวรีทั้งหมด เราจะหาอาร์เรย์ที่ควรมี answer[i] เป็

  12. บวกค่ากับอาร์เรย์รูปแบบจำนวนเต็มใน Python

    ให้จำนวนเต็มในรูปอาร์เรย์ ตัวอย่าง 534 → [5,3,4] บวกค่า K เข้าไป คืนอาร์เรย์ตัวเลขของผลลัพธ์ ตัวอย่าง: [5,3,4] + 78 = 612 → [6,1,2] ขั้นตอนการแก้ปัญหา แปลงอาร์เรย์เป็นสตริงต่อกัน .join(str(i) for i in A) แปลงเป็น int บวก K แปลงกลับเป็นสตริง แล้วแยกแต่ละตัวเป็น int ตัวอย่างโค้ด class S

  13. Complement ของจำนวนฐานสิบใน Python

    ให้จำนวนฐานสิบ หา complement ในรูปฐานสอง (กลับบิต 0↔1) แล้วแปลงกลับเป็นฐานสิบ ตัวอย่าง: 20 → binary 10100 → complement 01011 → decimal 11 ขั้นตอนการแก้ปัญหา แปลงเป็นสตริง binary ด้วย bin(N) (ได้ prefix 0b) วนอ่านจากท้ายไปหน้า: เจอ b (จาก 0b) หยุดคืนผลลัพธ์ เจอ 0 บวกกำลังสองปั

  14. คู่เพลงที่ระยะเวลารวมหาร 60 ลงตัวใน Python

    ให้ลิสต์เพลง time[i] = ระยะเวลาวินาที หาจำนวนคู่ (i,j) ที่ i<j และ (time[i] + time[j]) หาร 60 ลงตัว ตัวอย่าง: [30,20,150,100,40] → 3 คู่: (30,150)=180, (20,100)=120, (20,40)=60 ขั้นตอนการแก้ปัญหา ใช้ dictionary remainder นับจำนวนเศษ mod 60 ที่เจอแล้ว ans = 0 วนลูปแต่ละ t ใน time: ถ้า t %

  15. แบ่งอาร์เรย์ 3 ส่วนผลรวมเท่ากันใน Python

    ให้อาร์เรย์ A ของจำนวนเต็ม ตรวจสอบว่าสามารถแบ่งเป็น 3 ส่วนต่อเนื่อง ไม่ว่าง ที่มีผลรวมเท่ากันได้หรือไม่ อย่างเป็นทางการ: หา i+1 < j ที่ทำให้ sum(A[0..i]) == sum(A[i+1..j-1]) == sum(A[j..n-1]) ตัวอย่าง: [0,2,1,-6,6,-7,9,1,2,0,1] → True ส่วน: [0,2,1], [-6,6,-7,9,1], [2,0,1] (ผลรวม = 3) ขั้นต

  16. Last Stone Weight ใน Python

    มีก้อนหินหลายก้อน น้ำหนักเป็นจำนวนเต็มบวก ทุกรอบเลือก 2 ก้อนที่หนักที่สุด โดนกัน: ถ้าน้ำหนักเท่ากัน (x=y) ทั้งคู่พัง ถ้าไม่เท่า (x<y) ก้อนเบาพัง ก้อนหนักเหลือ y-x ทำซ้ำจนเหลือสูงสุด 1 ก้อน หาค่าน้ำหนักสุดท้าย (0 ถ้าไม่เหลือ) ตัวอย่าง: [2,7,4,1,8,1] → เลือก 8,7 เหลือ 1 → [2,4,1,1,1] &

  17. ลบตัวอักษรซ้ำติดกันในสตริง Python

    ให้สตริง S ตัวพิมพ์เล็ก ทำการลบตัวอักษรซ้ำติดกัน (adjacent duplicates) ซ้ำๆ จนไม่มีซ้ำติดกันเหลือ คืนสตริงผลลัพธ์ ตัวอย่าง: abbacaca → ลบ bb ได้ aacaca → ลบ aa ได้ caca (จบ) ขั้นตอนการแก้ปัญหา (Stack) สร้าง stack ว่าง st ตั้ง i = 0 วนลูป while i < len(S): ถ้า stack ไม่ว่าง และ st[-1] =

  18. Height Checker ใน Python

    นักเรียนนั่งถ่ายรูปต้องเรียงตามส่วนสูงไม่ลดลง (non-decreasing) ให้อาร์เรย์ความสูง หาจำนวนนักเรียนที่ไม่อยู่ตำแหน่งที่ถูกต้อง ตัวอย่าง: [1,1,4,2,1,3] เรียงแล้ว [1,1,1,2,3,4] ตำแหน่งผิด 3 ที่ (4, 3, 1 ตัวสุดท้าย) ขั้นตอนการแก้ปัญหา สร้างอาร์เรย์เรียงลำดับ x = sorted(heights) เปรียบเทียบ x[i] กับ he

  19. Greatest Common Divisor ของสตริงใน Python

    ให้สตริง A และ B ว่า A หาร B ลงตัว (divisible) เมื่อ A สร้างได้จากการต่อ B ซ้ำ 1 ครั้งขึ้นไป เช่น A=abcabc, B=abc หารลงตัว หา Greatest Common Divisor (GCD) ของสตริง 2 ตัว คือ สตริงยาวที่สุดที่หารทั้งคูลงตัว ตัวอย่าง: ABABAB และ ABAB GCD = AB ขั้นตอนการแก้ปัญหา เลือกสตริงสั้นกว่าเป็น temp วนลูปควา

  20. หาคำหลัง Bigram ใน Python

    ให้ข้อความ (text) และคำสองคำ first, second หาคำ third ที่อยู่ทันทีหลังลำดับ first second ในข้อความ ตัวอย่าง: text = lina is a good girl she is a good singer, first = a, second = good ผลลัพธ์ = [girl, singer] ขั้นตอนการแก้ปัญหา แยกข้อความเป็นลิสต์คำด้วย split( ) วนลูป index i จาก 0 ถึง len-3: ถ้า

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:121/451  20-คอมพิวเตอร์/Page Goto:1 115 116 117 118 119 120 121 122 123 124 125 126 127