Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. โปรแกรมหาจุดศูนย์กลางของ star graph ใน Python

    สมมติว่าเรามี star graph แบบไม่มีทิศทางที่มี n โหนดตั้งชื่อ 1 ถึง n ตามที่รู้ star graph คือกราฟที่มีโหนดศูนย์กลางหนึ่งตัว และมีเส้นขอบ n - 1 เส้นเชื่อมโหนดศูนย์กลางกับโหนดอื่นๆ ทุกตัว เราต้องหาศูนย์กลางของ star graph ที่กำหนด เช่น ถ้าอินพุตเป็นดังภาพ ผลลัพธ์จะเป็น 3 เพราะ 3 อยู่ตรงกลาง วิธีแก้ปัญห

  2. โปรแกรมหาเวลารอเฉลี่ยใน Python

    สมมติว่าเรามีอาร์เรย์ customers โดย customers[i] เก็บคู่ [arrival_i, time_i] arrival_i คือเวลาที่ลูกค้าคนที่ i มาถึง เวลามาถึงเรียงจากน้อยไปมาก time_i คือเวลาที่ต้องใช้เตรียมออเดอร์ของลูกค้าคนที่ i ตอนนี้ เมื่อลูกค้ามาถึง เขาสั่งออเดอร์ และออเดอร์นั้นเริ่มเตรียมเมื่อเชฟว่าง เชฟไม่เตรียมอาหารให้มากก

  3. โปรแกรมหาอัตราส่วนการสอบผ่านเฉลี่ยสูงสุดใน Python

    สมมติว่าเรามีรายการชั้นเรียนที่ classes[i] แทน [pass_i, total_i] แสดงจำนวนนักเรียนที่สอบผ่านของชั้นเรียนที่ i และจำนวนนักเรียนทั้งหมดของชั้นเรียนที่ i ตามลำดับ เรายังมีอีกค่าหนึ่งคือ extra แสดงจำนวนนักเรียนเก่งเพิ่มเติมที่รับประกันว่าจะสอบผ่านชั้นเรียนใดก็ตามที่ได้รับมอบหมาย เราต้องมอบนักเรียนเพิ่ม

  4. โปรแกรมหาสตริงไบนารีสูงสุดหลังเปลี่ยนแปลงใน Python

    สมมติว่าเรามีสตริงไบนารี เราสามารถใช้การดำเนินการต่อไปนี้ได้ไม่จำกัดจำนวนครั้ง: ถ้าตัวเลขมีสตริงย่อย 00 เราสามารถแทนที่ด้วย 10 ได้ ถ้าตัวเลขมีสตริงย่อย 10 เราสามารถแทนที่ด้วย 01 ได้ จากนั้นเราต้องหาสตริงไบนารีที่สูงที่สุด (จากมุมมองค่าตัวเลข) ที่เราสามารถได้หลังจากการดำเนินการใดๆ จำนวนครั้งใดๆ เช

  5. โปรแกรมตรวจสอบเลขยกกำลังสองหลังจัดเรียงตัวเลขใหม่ใน Python

    สมมติว่าเรามีจำนวนเต็มบวก N เราจัดเรียงตัวเลขในลำดับใดก็ได้ (รวมถึงลำดับเดิม) ให้ตัวเลขนำหน้าไม่เป็นศูนย์ เราต้องตรวจสอบว่าสามารถทำได้หรือไม่ เพื่อให้ตัวเลขที่ได้เป็นกำลังของสอง เช่น ถ้าอินพุตคือ N = 812 ผลลัพธ์จะเป็น True วิธีแก้ปัญหา i := 1 while i <= 1000000000: s := i เป็นสตริง

  6. โปรแกรมหาจำนวนแอปเปิลสูงสุดที่กินได้ใน Python

    สมมติว่าเรามีอาร์เรย์สองอาร์เรย์ชื่อ days และ apples ความยาวเท่ากัน n มีต้นแอปเปิลพิเศษที่ออกแอปเปิลทุกวันเป็นเวลา n วันติดต่อกัน ในวันที่ i ต้นไม้ออกแอปเปิล apples[i] ลูก และจะเน่าหลังจาก days[i] วัน กล่าวคือ ในวันที่ i + days[i] แอปเปิลจะเน่าและกินไม่ได้ ในบางวัน หาก apples[i] = 0 และ days[i] = 0

  7. โปรแกรมนับมื้ออาหารที่ดีที่มีสองรายการพอดีใน Python

    สมมติว่าเรามีอาร์เรย์ deli โดย deli[i] คือความอร่อยของอาหารชิ้นที่ i เราต้องหาจำนวนมื้ออาหารที่ดีที่แตกต่างกันที่เราสามารถทำจากรายการนี้ ถ้าคำตอบใหญ่เกินไป ให้ return ผลลัพธ์ modulo 10^9 + 7 ในที่นี้ มื้ออาหารที่ดี หมายถึงมื้ออาหารที่มีอาหารสองชนิดที่ต่างกันพอดี ซึ่งผลรวมของความอร่อยเป็นกำลังของสอง

  8. โปรแกรมหาจำนวนการทอยลูกเต๋าน้อยที่สุดในเกมงูและบันไดด้วย Python

    สมมติว่าเรากำลังเล่นเกมงูและบันได เรามีเงื่อนไขว่าสามารถทอยลูกเต๋าได้ตัวเลขใดก็ตามที่ต้องการ เริ่มจากตำแหน่ง 0 จุดหมายคือตำแหน่ง 100 และเราทอยลูกเต๋าหลายครั้งเพื่อไปถึงจุดหมาย เราต้องหาจำนวนการทอยลูกเต๋าน้อยที่สุดที่จำเป็นเพื่อไปถึงจุดหมาย หากได้รับตำแหน่งของงูและบันไดบนกระดาน อาร์เรย์ snakes และ l

  9. โปรแกรมหา Minimum Spanning Tree (MST) ด้วยอัลกอริทึม Prim ใน Python

    สมมติว่าเราได้รับกราฟและถูกถามให้หา Minimum Spanning Tree (MST) จากกราฟนั้น MST ของกราฟคือเซตย่อยของกราฟมีน้ำหนักที่ทุกจุดยอดอยู่และเชื่อมต่อกัน และไม่มีวัฏจักรในเซตย่อย MST เรียกว่า minimum เพราะน้ำหนักเส้นขอบรวมของ MST เป็นค่าต่ำสุดที่เป็นไปได้จากกราฟ ที่นี่เราใช้อัลกอริทึม Prim MST และหาผลรวมน้ำ

  10. โปรแกรมนับจำนวนวิธีแบ่งอาร์เรย์เป็นสามซับอาร์เรย์ใน Python

    สมมติว่าเรามีอาร์เรย์ชื่อ nums เราต้องหาจำนวนวิธีที่ดีในการแบ่งอาร์เรย์ nums นี้ คำตอบอาจใหญ่เกินไป จึงต้อง return ผลลัพธ์ modulo 10^9 + 7 ในที่นี้ การแบ่งอาร์เรย์ (ที่มีองค์ประกอบเป็นจำนวนเต็ม) ถือว่าดี หากอาร์เรย์ถูกแบ่งเป็นสามซับอาร์เรย์ที่ไม่ว่างและติดต่อกัน ตามลำดับจากซ้ายไปขวา และผลรวมขององค์

  11. โปรแกรมหาขนาดขั้นต่ำของเคล็กขนาดใหญ่ที่สุดในกราฟด้วย Python

    สมมติว่าเราได้รับกราฟ และต้องการหาขนาดขั้นต่ำของเคล็ก (clique) ขนาดใหญ่ที่สุดในกราฟ เคล็กของกราฟคือเซตย่อยของกราฟที่ทุกคู่ของจุดยอดติดกัน คือมีเส้นขอบระหว่างทุกคู่ของจุดยอด การหาเคล็กขนาดใหญ่ที่สุดในกราฟทั่วไปไม่สามารถทำได้ใน polynomial time ดังนั้นเมื่อได้รับจำนวนโหนดและเส้นขอบของกราฟขนาดเล็ก เราต

  12. โปรแกรมหาเส้นทางที่มี penalty น้อยที่สุดระหว่างสองจุดยอดใน Python

    สมมติว่าเราได้รับกราฟไม่มีทิศทางมีน้ำหนัก และต้องการหาเส้นทางที่มี penalty น้อยที่สุดจากโหนด a ไป b penalty ของเส้นทางคือ bitwise OR ของน้ำหนักเส้นขอบทั้งหมดในเส้นทาง เราต้องหาเส้นทาง minimum penalty นี้ และถ้าไม่มีเส้นทางระหว่างสองโหนด ให้ return -1 เช่น ถ้าอินพุตเป็นดังภาพ start (s) = 1, end (e)

  13. โปรแกรมหาเส้นทางค่าใช้จ่ายขั้นต่ำระหว่างจุดยอดค่าต่ำสุดถึงค่าสูงสุดใน Python

    สมมติว่าเราได้รับกราฟไม่มีทิศทางมีน้ำหนัก และต้องการหาเส้นทางที่มีค่าใช้จ่ายเดินทางขั้นต่ำจากโหนดหนึ่งไปยังอีกโหนดหนึ่ง ค่าใช้จ่ายในการเดินทางคำนวณดังนี้: สมมติมีเส้นทางจากจุดยอด A ไป C เป็น A→B→C ค่าใช้จ่ายจาก A ไป B คือ 10 และจาก B ไป C คือ 20 ค่าใช้จ่ายจาก A ไป C จะเป็น (ค่าใช้จ่าย A ถึง B) + (ค

  14. โปรแกรมหาย่อยกราฟประเภทพิเศษในกราฟที่กำหนดด้วย Python

    สมมติว่าเรามีกราฟประเภทพิเศษที่มีสองประเภทของจุดยอดคือ head และ feet กราฟมี head เพียงตัวเดียว และมี k เส้นขอบเชื่อม head ไปยังแต่ละ feet ถ้าเราได้รับกราฟไม่มีทิศทาง ไม่มีน้ำหนัก เราต้องหาย่อยกราฟประเภทพิเศษเหล่านี้ในซับกราฟที่เป็น vertex disjoint ของกราฟ สองกราฟถือว่า vertex disjoint ถ้าไม่มีจุดยอ

  15. โปรแกรมหาเส้นทางสั้นที่สุดส่งจดหมายทั้งหมดใน Python

    สมมติว่ามี n เมืองเชื่อมต่อด้วย n-1 ถนน เมืองใดก็ตามสามารถไปถึงจากเมืองอื่นได้ ระบบไปรษณีย์ส่งจดหมาย k ฉบับต่อวัน จดหมายมีปลายทางเป็น k เมืองที่ต่างกัน พนักงานไปรษณีย์ต้องส่งจดหมายทั้งหมดทุกวัน เราต้องหาระยะทางขั้นต่ำที่พนักงานต้องเดินทางเพื่อส่งจดหมายทั้งหมด พนักงานสามารถเริ่มจากเมืองใดก็ได้ เช่น

  16. โปรแกรมนับคะแนนสูงสุดจากการลบสตริงย่อยใน Python

    สมมติว่าเรามีสตริง s และค่าสองค่า x และ y เราสามารถดำเนินการสองประเภทต่อไปนี้ได้ไม่จำกัดจำนวนครั้ง: ค้นหาสตริงย่อย ab ถ้ามี เราสามารถได้ x คะแนนโดยการลบมัน ค้นหาสตริงย่อย ba ถ้ามี เราสามารถได้ y คะแนนโดยการลบมัน เราต้องหาคะแนนสูงสุดที่ได้หลังจากดำเนินการข้างต้นบน s เช่น ถ้าอินพุตคือ s = cbbaacdea

  17. โปรแกรมหาผลรวมค่าใช้จ่ายขั้นต่ำในกราฟระหว่างทุกคู่จุดยอดใน Python

    สมมติว่ามีกราฟมีน้ำหนัก n จุดยอด และ m เส้นขอบ น้ำหนักของเส้นขอบเป็นกำลังของ 2 จุดยอดใดๆ สามารถเข้าถึงจากจุดยอดอื่นได้ และค่าใช้จ่ายในการเดินทางคือผลรวมของน้ำหนักเส้นขอบทั้งหมดในเส้นทาง เราต้องหาผลรวมของค่าใช้จ่ายขั้นต่ำระหว่างแต่ละคู่ของจุดยอด เช่น ถ้าอินพุตเป็นดังภาพ และจำนวนจุดยอด (n) = 6 ผลลัพธ

  18. โปรแกรมหาความยาวระหว่างสองเมืองในทางลัดด้วย Python

    สมมติว่ามี n เมือง ซึ่งเชื่อมต่อด้วยสองประเภทของถนน ได้แก่ ทางหลวงและทางลัด ตอนนี้มีแผนที่ที่แสดงเฉพาะทางหลวง ในขณะที่ทางลัดทั้งหมดไม่ปรากฏ แผนกขนส่งต้องการเปิดบริการขนส่งเชื่อมเมืองโดยใช้ทั้งทางหลวงและทางลัด เรารู้ว่ามีทางลัดระหว่างสองเมืองเมื่อไม่มีทางหลวงเชื่อมพวกเขา งานของเราคือหาความห่างขั้นต่

  19. โปรแกรมสร้างลำดับที่ถูกต้องและใหญ่ที่สุดในลำดับเลขโครงรังใน Python

    สมมติว่าเรามีตัวเลข n เราต้องหาลำดับที่สอดคล้องกับกฎทั้งหมดต่อไปนี้: 1 ปรากฏในลำดับเพียงครั้งเดียว แต่ละตัวเลขระหว่าง 2 ถึง n ปรากฏในลำดับสองครั้ง สำหรับทุก i ในช่วง 2 ถึง n ระยะห่างระหว่างสองครั้งที่ i ปรากฏ ต้องเท่ากับ i อย่างแน่นอน ระยะห่างระหว่างสองตัวเลขในลำดับ a[i] และ a[j] คือ |j - i| เราต

  20. โปรแกรมคำนวณค่าเฉลี่ยของค่าพิเศษทั้งหมดสำหรับทุกการเรียงสับของรายการใน Python

    สมมติว่าเรามีรายการขององค์ประกอบ เราสามารถคำนวณค่า S โดยอัลกอริทึมต่อไปนี้: while size of L > 1 is non-zero, do a := L[0] b := L[1] remove L[1] L[0] := a + b + a*b return L[0] mod (10^9 + 7) ในที่นี้ เราต้องหาค่าเฉลี่ยของค่า S ทั้งหมดที่คำนวณจากทุกการจัดเรียงที่เป็นไปได้ของ L เช่

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:362/451  20-คอมพิวเตอร์/Page Goto:1 356 357 358 359 360 361 362 363 364 365 366 367 368