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

    ใช้ property CustomBusinessHour.end เพื่อดึงเวลาสิ้นสุดของชั่วโมงทำการแบบกำหนดเองในรูปแบบ 24 ชั่วโมง ขั้นตอน import pandas as pd สร้าง timestamp และ CustomBusinessHour offset พร้อมระบุ start, end, n เข้าถึง cbhOffset.end ตัวอย่างโค้ด import pandas as pd timestamp = pd.Timestamp(2021-11-14 05:20:3

  2. Python Pandas - ตรวจสอบว่า CustomBusinessHour เป็น Anchored หรือไม่

    ใช้ CustomBusinessHour.is_anchored() ใน Pandas เพื่อตรวจสอบว่า CustomBusinessHour offset เป็น anchored (มีความถี่คงที่) หรือไม่ ขั้นตอน import pandas as pd สร้าง timestamp และ CustomBusinessHour offset เรียก cbhOffset.is_anchored() ตัวอย่างโค้ด import pandas as pd timestamp = pd.Timestamp(2021-11

  3. Python Pandas CustomBusinessHour - ตรวจสอบว่า timestamp อยู่บน offset หรือไม่

    ใช้ CustomBusinessHour.is_on_offset() ใน Pandas เพื่อตรวจสอบว่า timestamp ที่กำหนดอยู่บน offset หรือไม่ ส่ง timestamp เป็นอาร์กิวเมนต์ ขั้นตอน import pandas as pd สร้าง timestamp: pd.Timestamp(2021-11-14 05:20:30) สร้าง CustomBusinessHour offset: pd.tseries.offsets.CustomBusinessHour(start=09:30, e

  4. โปรแกรมหาความต่างน้อยที่สุดของผลรวมโหนดในสอง subtree ใน Python

    มีต้นไม้ n โหนด แต่ละโหนดมีค่า ตัดขอบหนึ่งขอบ ให้ความต่างของผลรวมค่าโหนดในสอง subtree น้อยที่สุด ตัวอย่าง: n=6, edges=[[1,2],[1,3],[2,4],[3,5],[3,6]], values=[10,20,10,50,10,60] → 0 ขั้นตอนการแก้ปัญหา สร้าง adjacency list คำนวณผลรวม subtree ทุกโหนดด้วย DFS (post-order) สำหรับแต่ละขอบ (u,v) โดย v เป

  5. โปรแกรมหาต้นทุนขั้นต่ำเพื่อให้พลเมืองเข้าถึงตลาดได้ใน Python

    มี n เมือง m ทางเชื่อม ต้องสร้างตลาดและถนน ให้ทุกเมืองเข้าถึงตลาดได้ ค่าสร้างถนน x ค่าสร้างตลาด y หาต้นทุนต่ำสุด ตัวอย่าง: n=4, m=3, x=1, y=2, cities=[[1,2],[2,3],[3,4]] → 4 ขั้นตอนการแก้ปัญหา หาก x ≤ y: สร้างถนนเชื่อมทุกเมือง ต้นทุน = n * x มิฉะนั้น: หา connected components ของกราฟ สำหรับแต่ละ com

  6. โปรแกรมนับจำนวนเมทริกซ์ Humble ขนาด n x m ใน Python

    เมทริกซ์ Humble ขนาด n x m ต้องมีตัวเลข 1..n*m ทุกตัวโดยไม่ซ้ำ และสอดคล้องเงื่อนไข: หาก (i1+j1) < (i2+j2) แล้ว Mat[i1][j1] < Mat[i2][j2] หาจำนวนเมทริกซ์ที่เป็นไปได้ โมดุลอ 10^9+7 ตัวอย่าง: n=2, m=2 → 2 เมทริกซ์ ขั้นตอนการแก้ปัญหา จำนวนเมทริกซ์ Humble = ∏_{i=1}^{min(n,m)} (i!)^2 * (min(n,m)!)^{|n-m|}

  7. โปรแกรมหาผู้ชนะเกมลบอาร์เรย์ใน Python

    อมลและบิมลเล่นกับอาร์เรย์ A: บิมลเริ่มก่อน แต่ละรอบลบค่าสูงสุดและทุกค่าด้านขวา ผู้ที่ลบค่าที่เหลือหมดชนะ ตัวอย่าง: nums=[5,2,6,3,4] → Amal ชนะ (บิมลลบ 6,3,4 เหลือ [5,2] อมลลบหมด) ขั้นตอนการแก้ปัญหา นับจำนวน record highs (ค่าที่มากกว่าค่าทุกตัวก่อนหน้า) หากจำนวนเป็นคู่ → Amal ชนะ มิฉะนั้น Bimal ชนะ ต

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

    อำลและบิมลเล่นเกม: มีอิฐนับ n ก้อน มีตัวเลขบนอิฐ สลับกันเอาอิฐ 1-3 ก้อนจากด้านบน คะแนน = ผลรวมตัวเลขอิฐที่เอา อมลเล่นก่อน หาคะแนนสูงสุดที่อมลรับประกันได้ ตัวอย่าง: nums=[1,2,3,4,5] → 6 (อมลเอา 1, บิมลเอา 2,3,4, อมลเอา 5) ขั้นตอนการแก้ปัญหา ใช้ DP แบบ bottom-up จากด้านล่างขึ้นบน (กลับลำดับอาร์เรย์):

  9. โปรแกรมตรวจสอบว่าขโมยสามารถขโมยห้องเซฟได้หรือไม่ใน Python

    มีขโมย N คน แต่ละคนใช้เวลา time[i] ในห้องเซฟ ประตูมีเจ้าหน้าที่คุ้มครอง กลับมาในเวลา G ได้มีคนในห้องเซฟพร้อมกันสูงสุด 2 คน ตรวจสอบว่าขโมยทุกคนสามารถเข้าไปและออกมาได้ก่อนเจ้าหน้าที่กลับ ตัวอย่าง: N=3, G=5, time=[3,5,2] → True (จัดตารางได้) ขั้นตอนการแก้ปัญหา 2G → False หาก sum(time) ≤ G → True มิฉะ

  10. โปรแกรมนับจุดเริ่มต้นที่เดินทางรอบเมืองได้ใน Python

    มี n เมืองเรียงวงกลม 0..n-1 มีถังน้ำมันความจุ cap เมือง i ให้น้ำมัน fuel[i] ใช้ cost[i] ไปเมืองถัดไป หาจำนวนเมืองที่เริ่มต้นได้เพื่อเดินทางรอบวงกลมครบ ตัวอย่าง: cap=3, fuel=[3,1,2], costs=[2,2,2] → ผลลัพธ์ 2 (เมือง 0 และ 2) ขั้นตอนการแก้ปัญหา ใช้ greedy + ตรวจสอบ feasibility แบบสองรอบ: คำนวณ req[i]

  11. โปรแกรมนับลำดับเทียนสีที่เพิ่มขึ้นอย่างเคร่งครัดใน Python

    มีเทียน n แท่ง เรียงซ้ายไปขวา เทียน i มีความสูง h[i] และสี c[i] (สี 1..k) ต้องการนับลำดับย่อยที่เพิ่มขึ้นอย่างเคร่งครัดตามความสูง และมีสีครบทุกสี 1..k อย่างน้อย 1 แท่ง โมดุลอ 10^9+7 ตัวอย่าง: K=3, h=[1,3,2,4], c=[1,2,2,3] → ผลลัพธ์ 2 (ลำดับ [1,2,4] และ [1,3,4]) ขั้นตอนการแก้ปัญหา ใช้ Inclusion-Exclu

  12. โปรแกรมนับลำดับหลังการสลับติดกัน k ครั้ง และไม่เกิน k ครั้งใน Python

    มีอาร์เรย์ A = [1..n] หาจำนวนลำดับที่ได้หลังจากการสลับติดกัน (adjacent swaps) ทุก k ครั้ง (S1) และสูงสุด k ครั้ง (S2) ตัวอย่าง: n=3, k=2 → S1=3, S2=6 ขั้นตอนการแก้ปัญหา ใช้ DP นับจำนวน permutation ตามจำนวน inversion (สำหรับ adjacent swaps): A[x] = จำนวน permutation ที่มี inversion = x หลังจากสลับติ

  13. โปรแกรมนับ magic sets จากการเรียงสลับของ n ตัวเลขแรกใน Python

    มีอาร์เรย์ A = [1..n] และการเรียงสลับ P ต้องการนับ magic sets ที่สอดคล้องกับเงื่อนไข: ตำแหน่งใน k_vals ต้องเป็น local minima (น้อยกว่าตัวข้างเคียง) และตำแหน่งใน l_vals ต้องเป็น local maxima (มากกว่าตัวข้างเคียง) ตัวอย่าง: n=4, k=1, l=1, k_vals=[2], l_vals=[3] → ผลลัพธ์ 5 ขั้นตอนการแก้ปัญหา ใช้ Dynam

  14. โปรแกรมหาผู้ชนะเกมลดตัวเลขเป็นกำลังของ 2 ใน Python

    อมลและบิมลเล่นกับตัวเลข n: หาก n เป็นกำลังของ 2 ให้หาร 2 มิฉะนั้นลบด้วยกำลังของ 2 ที่ใกล้ที่สุดและน้อยกว่า n ผู้ที่ลด n เป็น 1 ชนะ อมลเล่นก่อน หาผู้ชนะ ตัวอย่าง: n=19 → Amal ชนะ (19→16→8→4→2→1) ขั้นตอนการแก้ปัญหา นับจำนวนรอบการเล่น res: วนลูปจนกว่า n=1: หา b = กำลังของ 2 ที่มากที่สุดและ < n n -= b

  15. โปรแกรมหาผู้ชนะเกมเอาตัวเลขเฉพาะออกจากเซตใน Python

    มีเซต {1..n} อมลและบิมลสลับกันเลือกจำนวนเฉพาะ p จากเซต แล้วเอา p และพหุคูณของ p ออก ผู้ที่ไม่สามารถเลือกได้แพ้ อมลเล่นก่อน หาผู้ชนะ ตัวอย่าง: n=5 → ผลลัพธ์ Amal ขั้นตอนการแก้ปัญหา จำนวนการเคลื่อนไหวเท่ากับจำนวนจำนวนเฉพาะ ≤ n หากจำนวนเฉพาะเป็นคี่ อมลชนะ (เพราะเล่นก่อน) มิฉะนั้นบิมลชนะ ใช้ Sieve of Er

  16. โปรแกรมหาผู้ชนะเกมลดความสูงหอคอยใน Python

    มีหอคอยความสูงต่างกัน อมลและบิมลสลับกันเลือกหอคอยสูง X ลดความสูงเป็น Y (1 ≤ Y < X, Y หาร X ลงตัว) ผู้ที่ไม่สามารถลดได้แพ้ อมลเล่นก่อน หาผู้ชนะ ตัวอย่าง: height=[3,1,2] → ผลลัพธ์ Bimal ขั้นตอนการแก้ปัญหา Grundy number ของหอคอยสูง X คือจำนวนเฉพาะในการแยกตัวประกอบของ X (นับซ้ำ) ใช้ Nim-sum: แยกตัวประก

  17. โปรแกรมหาผู้ชนะเกมล้มทOWERใน Python

    1) ผู้ที่ไม่สามารถแยกได้แพ้ อมลเล่นก่อน หาผู้ชนะ ตัวอย่าง: height=[3,1,2] → ผลลัพธ์ Bimal ขั้นตอนการแก้ปัญหา ใช้ทฤษฎี Sprague-Grundy คำนวณ Grundy number สำหรับแต่ละความสูง: คำนวณ Grundy สำหรับความสูง 1..limit (limit=1000+5) โดยพิจารณาตัวหารคี่ XOR Grundy ของทุกหอคอย หากผลลัพธ์ != 0 อมลชนะ มิฉะนั้นบ

  18. โปรแกรมนับวิธีทำหมากรุกแรกเพื่อให้ผู้เริ่มต้นชนะในเกมช็อกโกแลตใน Python

    อมลและบิมลเล่นเกม: มี n ภาชนะ แต่ละอันมีช็อกโกแลต count[i] เม็ด สลับกันเลือกภาชนะและหยิบช็อกโกแลต 1 เม็ดขึ้นไป ผู้ที่ไม่สามารถหยิบได้แพ้ อมลเล่นก่อน หาจำนวนวิธีที่อมลสามารถทำหมากรุกแรกได้เพื่อให้ชนะแน่นอน ตัวอย่าง: count=[2,3] → ผลลัพธ์ 1 (หยิบ 1 เม็ดจากภาชนะที่ 2) ขั้นตอนการแก้ปัญหา เป็นเกม Nim แบบ

  19. โปรแกรมนับจุดจำนวนเต็มบนเส้นตรงระหว่างสองจุดใน Python

    ได้รับสองจุด (p1,q1) และ (p2,q2) ต้องการหาจำนวนจุดที่มีพิกัดเป็นจำนวนเต็มบนเส้นตรงระหว่างสองจุด (ไม่นับจุดปลาย) ตัวอย่าง: (3,3) ถึง (6,6) → จุด (4,4) และ (5,5) รวม 2 จุด ขั้นตอนการแก้ปัญหา จำนวนจุดจำนวนเต็มบนเส้นตรงระหว่างจุด (x1,y1) และ (x2,y2) คือ gcd(|x2-x1|, |y2-y1|) - 1 ตัวอย่างโค้ด Python def

  20. โปรแกรมใช้วิธี Russian Peasant Multiplication สำหรับจำนวน מרוכบใน Python

    ได้รับ p, q, r, k ต้องการคำนวณ (p + q*i)^r = real + imag*i แล้วคืนค่า (real mod k, imag mod k) ใช้วิธี Russian Peasant Multiplication (ยกกำลังแบบทวินิพจน์) ตัวอย่าง: p=3, q=0, r=8, k=10000 → (6561, 0) ขั้นตอนการแก้ปัญหา ใช้การยกกำลังแบบแบ่งครึ่ง (exponentiation by squaring) สำหรับจำนวน מרוכบ: ฐาน:

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:406/451  20-คอมพิวเตอร์/Page Goto:1 400 401 402 403 404 405 406 407 408 409 410 411 412