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

    ปัญหา มี n วิชา (1 ถึง n) และ relations เป็นคู่ (prevCourse, nextCourse) แสดงว่า prev ต้องเรียนก่อน next แต่ละภาคเรียนเรียนได้สูงสุด k วิชา ต้องเรียนครบทุกวิชาในภาคเรียนน้อยที่สุด ตัวอย่าง n=6, relations=[(1,3),(2,5),(2,4),(5,6)], k=2 → ผลลัพธ์ 3 (ภาคเรียนที่ 1: วิชา 1,2; ภาคเรียนที่ 2: วิชา 5 และ

  2. โปรแกรมหาความยาวสตริงขั้นต่ำหลังลบหัวและท้ายที่เหมือนกันใน Python

    ปัญหา สตริง s ประกอบด้วย a, b, c เท่านั้น ดำเนินการซ้ำ: เลือก prefix ที่ตัวอักษรเหมือนกัน และ suffix ที่ตัวอักษรเหมือนกัน (prefix และ suffix ไม่ทับซ้อน และตัวอักษรต้องเหมือนกัน) ลบทั้งคู่ออก หาความยาวน้อยที่สุดของ s หลังดำเนินการได้ไม่จำกัดครั้ง ตัวอย่าง s = aabccabba → ผลลัพธ์ 3 (ลบ aa และ a เหลือ

  3. โปรแกรมหาคะแนนสูงสุดจากการเอาหินออกใน Python

    ปัญหา มีกองหิน 3 กอง ขนาด a, b, c แต่ละเทิร์นเลือก 2 กองที่ไม่ว่าง เอาหินออก 1 ลูกจากแต่ละกอง ได้ 1 คะแนน เกมจบเมื่อเหลือกองไม่ว่างน้อยกว่า 2 กอง หาคะแนนสูงสุด ตัวอย่าง a=4, b=4, c=6 → ผลลัพธ์ 7 (ลำดับการเอาออก: (3,3,6)→(2,3,5)→(1,3,4)→(0,3,3)→(0,2,2)→(0,1,1)→(0,0,0)) ขั้นตอนการแก้ปัญหา minimum :

  4. โปรแกรมหาการรวมสตริงสองสตริงแบบเล็กซิโคกราฟิกมากที่สุดใน Python

    ปัญหา มีสตริง s และ t ต้องสร้างสตริง merge โดยเลือกตัวอักษรแรกของ s หรือ t ต่อท้าย merge จนกว่าทั้งสองจะว่างเปล่า ต้องการ merge ที่ใหญ่ที่สุดในแบบเล็กซิโคกราฟิก ตัวอย่าง s = zxyxx, t = yzxxx → ผลลัพธ์ zyzxyxxxxx ขั้นตอนการแก้ปัญหา a := 0, b := 0, merge := W1 := len(s), W2 := len(t) بينما a < W1

  5. โปรแกรมหาค่าสูงสุดของสมการใน Python

    ปัญหา มีอาร์เรย์ points เก็บพิกัด (x_i, y_i) เรียงตาม x เพิ่มขึ้น และค่า k หาค่าสูงสุดของ y_i + y_j + |x_i - x_j| โดยที่ |x_i - x_j| <= k และ i < j ตัวอย่าง points = [[2,4],[3,1],[6,11],[7,-9]], k = 1 → ผลลัพธ์ 6 เพราะคู่แรกให้ 4+1+|2-3|=6, คู่ที่สาม-สี่ให้ 11+(-9)+|6-7|=3 ขั้นตอนการแก้ปัญหา left

  6. โปรแกรมนับจำนวนสตริงย่อยที่เป็นอักษรเดียวกันใน Python

    ปัญหา ให้สตริง s หาจำนวนสตริงย่อยที่เป็น homogenous (ตัวอักษรทุกตัวเหมือนกัน) ผลลัพธ์ modulo 10^9+7 ตัวอย่าง s = xyyzzzxx → ผลลัพธ์ 13 เพราะมี: x 3 ครั้ง, xx 1 ครั้ง, y 2 ครั้ง, yy 1 ครั้ง, z 3 ครั้ง, zz 2 ครั้ง, zzz 1 ครั้ง (รวม 3+1+2+1+3+2+1=13) ขั้นตอนการแก้ปัญหา s := s + @ (เพื่อจัดการตัวสุดท

  7. โปรแกรมหาขีดจำกัดล่างของจำนวนลูกบอลในถุงน้อยที่สุดใน Python

    ปัญหา มีอาร์เรย์ nums โดย nums[i] คือจำนวนลูกบอลในถุงที่ i และมีค่า mx เป็นจำนวนครั้งสูงสุดที่สามารถแบ่งถุงได้ การดำเนินการคือเลือกถุงหนึ่งแบ่งเป็นสองถุงใหม่ที่มีลูกบอลอย่างน้อย 1 ลูก ค่าปรับ (penalty) คือจำนวนลูกบอลสูงสุดในถุงใดถุงหนึ่ง ต้องการลดค่าปรับให้น้อยที่สุดหลังดำเนินการได้สูงสุด mx ครั้ง

  8. โปรแกรมหาค่าจำนวนเต็มขั้นต่ำหลังการสลับตัวเลขติดกันสูงสุด k ครั้งใน Python

    ปัญหา ให้สตริง num แทนจำนวนเต็มขนาดใหญ่ และค่า k เราสามารถสลับตัวเลขที่อยู่ติดกันได้สูงสุด k ครั้ง ต้องการหาค่าต่ำสุดที่เป็นไปได้ ตัวอย่าง ถ้า num = 5432 และ k = 4 ผลลัพธ์คือ 2453 เพราะลำดับการสลับคือ: 5432 → 4532 → 4523 → 4253 → 2453 ขั้นตอนการแก้ปัญหา min_num := เรียงตัวเลขของ num จากน้อยไปมาก

  9. โปรแกรมสร้างอาร์เรย์โดยการต่อย่อยอาร์เรย์ของอีกอาร์เรย์หนึ่งใน Python

    ปัญหา สมมติว่ามีอาร์เรย์ 2 มิติชื่อ groups และอีกอาร์เรย์หนึ่งชื่อ nums เราต้องตรวจสอบว่าเราสามารถเลือก n ย่อยอาร์เรย์ที่ไม่ทับซ้อนกันจาก nums ได้หรือไม่ โดยที่ย่อยอาร์เรย์ตัวที่ i ต้องเท่ากับ groups[i] (ดัชนีเริ่มจาก 0) และถ้า i > 0 ย่อยอาร์เรย์ตัวที่ (i-1) จะต้องปรากฏก่อนย่อยอาร์เรย์ตัวที่ i ใน

  10. โปรแกรมตรวจสอบว่า Amal ชนะเกมหินได้หรือไม่ใน Python

    สมมติว่ามีผู้เล่นสองคน Amal และ Bimal เล่นเกมกัน และ Amal เริ่มก่อน เริ่มต้นมี n หินที่แตกต่างกันในกอง ในแต่ละเทิร์น ผู้เล่นจะลบหินจำนวนที่เป็นจำนวนกำลังสอง (ไม่เป็นศูนย์) ออกจากกอง หากผู้เล่นคนใดไม่สามารถทำการเคลื่อนไหวได้ เขาก็แพ้เกม ดังนั้นถ้าเรามี n เราต้องตรวจสอบว่า Amal สามารถชนะเกมได้หรือไม่

  11. โปรแกรมหาตำแหน่งที่ดีที่สุดสำหรับศูนย์บริการใน Python

    สมมติว่าเรามีรายการตำแหน่งที่มีพิกัดจุดที่บ้านตั้งอยู่ ถ้าคุณต้องการสร้างศูนย์บริการที่ (xc, yc) ให้ผลรวมของระยะทางยุคลิดจากจุดใดๆ ไป (xc, yc) น้อยที่สุด เราต้องหาผลรวมของระยะทางขั้นต่ำ เช่น ถ้าอินพุตคือ positions = [(10,11),(11,10),(11,12),(12,11)] ผลลัพธ์จะเป็น 4.0 วิธีแก้ปัญหา numIter := 50 กำ

  12. โปรแกรมหาจำนวนสตริงย่อยไม่ทับซ้อนสูงสุดใน Python

    สมมติว่าเรามีสตริง s ที่มีเฉพาะตัวอักษรพิมพ์เล็ก เราต้องหาจำนวนสตริงย่อยที่ไม่ว่างของ s สูงสุดที่ตรงตามกฎ: สตริงย่อยไม่ทับซ้อนกัน สตริงย่อยที่มีตัวอักษร ch ต้องมีการปรากฏของ ch ทั้งหมด เราต้องหาจำนวนสตริงย่อยสูงสุดที่ตรงตามเงื่อนไขทั้งสอง ถ้ามีคำตอบมากกว่าหนึ่งที่มีจำนวนสตริงย่อยเท่ากัน ให้ retur

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

    สมมติว่าเรามีสตริงไบนารีชื่อ boxes โดย boxes[i] เป็น 0 หมายถึงกล่องที่ i ว่าง และ 1 หมายถึงมีลูกบอลหนึ่งลูก ตอนนี้ในหนึ่งการดำเนินการ เราสามารถย้ายลูกบอลหนึ่งลูกจากกล่องหนึ่งไปกล่องติดกัน หลังจากนั้นอาจมีลูกบอลมากกว่าหนึ่งลูกในบางกล่อง เราต้องหาอาร์เรย์ answer ขนาด n โดยที่ answer[i] คือจำนวนการดำเ

  14. โปรแกรมหาจำนวนการเพิ่มน้อยที่สุดบนซับอาร์เรย์เพื่อสร้างอาร์เรย์เป้าหมายใน Python

    สมมติว่าเรามีอาร์เรย์ชื่อ target ที่มีค่าบวก ตอนนี้พิจารณาอาร์เรย์ initial ขนาดเดียวกันเติมศูนย์ทั้งหมด เราต้องหาจำนวนการดำเนินการน้อยที่สุดที่จำเป็นเพื่อสร้างอาร์เรย์ target จาก initial หากเราทำการดำเนินการนี้: (เลือกซับอาร์เรย์ใดก็ได้จาก initial และเพิ่มค่าแต่ละตัวขึ้น 1) เช่น ถ้าอินพุตคือ target

  15. โปรแกรมหาคะแนนสูงสุดจากการดำเนินการคูณใน Python

    สมมติว่าเรามีอาร์เรย์สองอาร์เรย์ nums และ multipliers ขนาด n และ m ตามลำดับ (n >= m) อาร์เรย์เป็น 1-indexed คะแนนเริ่มต้นคือ 0 เราต้องการดำเนินการ m ครั้งพอดี ในการดำเนินการครั้งที่ i (1-indexed) เราจะ: เลือกค่า x หนึ่งค่าจากต้นหรือปลายของ nums บวก multipliers[i] * x เข้ากับคะแนน ลบ x ออกจากอาร

  16. โปรแกรมหาความยาว run-length encoding น้อยที่สุดหลังลบสูงสุด k ตัวอักษรใน Python

    สมมติว่าเรามีสตริง s และอีกค่า k เราสามารถลบได้สูงสุด k ตัวอักษรจาก s เพื่อให้ความยาวของ run-length encoded version ของ s น้อยที่สุด ตามที่รู้ run-length encoding เป็นวิธีบีบอัดสตริงที่แทนที่ตัวอักษรซ้ำติดกัน (2 ครั้งขึ้นไป) ด้วยการต่อตัวอักษรกับตัวเลขนับจำนวน เช่น สตริง xxyzzz จะแทนที่ xx ด้วย x2

  17. โปรแกรมหาคะแนนสูงสุดจากเส้นทางที่ถูกต้องทั้งหมดใน Python

    สมมติว่าเรามีอาร์เรย์สองอาร์เรย์ nums1 และ nums2 เส้นทางที่ถูกต้อง (valid path) นิยามดังนี้: เลือก nums1 หรือ nums2 เพื่อเดินทาง (จากดัชนี 0) เดินทางผ่านอาร์เรย์จากซ้ายไปขวา ตอนนี้ ถ้าเรากำลังเคลื่อนที่ผ่านค่าใดก็ตามที่อยู่ใน nums1 และ nums2 ทั้งคู่ เราสามารถเปลี่ยนเส้นทางไปอีกอาร์เรย์ได้ คะแนนคื

  18. โปรแกรมหาสตริงย่อย Awesome ที่ยาวที่สุดใน Python

    สมมติว่าเรามีสตริงตัวเลข s ตามที่รู้ awesome substring คือสตริงย่อยที่ไม่ว่างของ s ที่เราสามารถสลับตัวเลขได้ไม่จำกัดครั้งเพื่อให้กลายเป็น palindrome เราต้องหาความยาวของ awesome substring สูงสุดของ s เช่น ถ้าอินพุตคือ s = 4353526 ผลลัพธ์จะเป็น 5 เพราะ 35352 เป็น awesome substring ที่ยาวที่สุด เราสาม

  19. โปรแกรมหาค่าใช้จ่ายขั้นต่ำในการตัดไม้ใน Python

    สมมติว่าเรามีค่า n และอาร์เรย์ชื่อ cuts พิจารณาว่ามีไม้ยาว n หน่วย ไม้ติดป้าย 0 ถึง n cuts[i] แทนตำแหน่งที่เราสามารถตัดได้ เราควรตัดตามลำดับ แต่สามารถเปลี่ยนลำดับการตัดได้ ค่าใช้จ่ายของการตัดหนึ่งครั้งคือขนาดของไม้ที่จะตัด และค่าใช้จ่ายรวมคือผลรวมของค่าใช้จ่ายทั้งหมด เราต้องหาค่าใช้จ่ายรวมขั้นต่ำขอ

  20. โปรแกรมหาจำนวนวันน้อยที่สุดกินส้ม N ลูกใน Python

    สมมติว่าเรามีตัวเลข n พิจารณาว่ามีส้ม n ลูกในครัว และเรากินส้มบางส่วนทุกวันโดยปฏิบัติกฎเหล่านี้: 1. กินส้ม 1 ลูก 2. ถ้า n เป็นเลขคู่ กิน n/2 ลูก 3. ถ้า n หาร 3 ลงตัว กิน 2*(n/3) ลูก เราสามารถเลือกได้เพียงหนึ่งตัวเลือกต่อวัน เราต้องหาจำนวนวันน้อยที่สุดที่จะกินส้ม n ลูกหมด เช่น ถ้าอินพุตคือ n = 10 ผล

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