Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. การบันทึกกราฟ 3D เป็นไฟล์ PDF 3D ด้วย Python

    ขั้นตอนการทำงาน กำหนดขนาดรูปภาพและปรับระยะห่างรอบๆ subplots สร้าง Figure ใหม่หรือเปิดใช้งาน Figure ที่มีอยู่ เพิ่ม ax เข้าไปใน Figure เป็นส่วนหนึ่งของการจัดวาง subplot สร้างข้อมูล u, v, x, y และ z ด้วย NumPy พล็อตกราฟ 3D แบบ Wireframe ตั้งค่าชื่อกราฟ บันทึกรูปภาพปัจจุบันด้วยเมธอด save

  2. การสร้างพื้นที่ปิดเงา (Shading) อย่างมีเหตุผลสำหรับเส้นโค้งใน Matplotlib

    ขั้นตอนการทำงาน กำหนดขนาดรูปภาพและปรับระยะห่างรอบๆ subplots สร้างข้อมูล t, s1 และ s2 ด้วย NumPy สร้าง Figure และชุดของ Subplots พล็อตข้อมูล t และ s1 พร้อมเพิ่มเส้นแนวนอนข้ามแกน สร้างคอลเลกชันของแถบแนวนอนที่ครอบคลุม yrange ด้วยลำดับของ xranges เพิ่ม Collection เข้าไปใน axes และคืนค่า col

  3. วิธีลบ Axis Tick Marks บน Seaborn Heatmap

    ใช้ ax.tick_params(left=False, bottom=False) ซ่อน Tick Marksขั้นตอนตั้งค่าขนาด Figureสร้างข้อมูลสุ่ม 4×4วาด Heatmap ด้วย sns.heatmap()ปิด Tick Marks: ax.tick_params(left=False, bottom=False)แสดงผลตัวอย่างโค้ดimport numpy as np import seaborn as sns from matplotlib import pyplot as plt plt.rcParams[

  4. เมื่อไหร่ต้องใช้ plt.show() และเมื่อไหร่ไม่ต้องใช้ใน Matplotlib

    plt.show() จำเป็นเมื่อไม่ใช่ Interactive Mode (Script ปกติ)fig.show() ใช้ใน Interactive Mode (เช่น IPython/Jupyter)ตัวอย่างเปรียบเทียบimport numpy as np from matplotlib import pyplot as plt plt.rcParams[figure.figsize] = [7.00, 3.50] plt.rcParams[figure.autolayout] = True fig = plt.figure() plt.pl

  5. โปรแกรมนับจำนวน Shift ใน Insertion Sort ด้วย Fenwick Tree ใน Python

    ให้ Array หาจำนวน Shift รวมเมื่อทำ Insertion Sort (O(n log n) ด้วย BIT)ตัวอย่าง: [4,5,3,1,2] → 8ขั้นตอน (Fenwick Tree / BIT)BIT Size 1,000,001 สำหรับนับ Frequencyวน item ใน Array:Query BIT: ผลรวม Index ≤ item = จำนวนที่ ≤ item ก่อนหน้าInversion += (Processed - Query)Update BIT: เพิ่ม Frequency ที่ i

  6. โปรแกรมสร้าง Lexicographically Minimal String จากสองสตริงใน Python

    ให้สตริงสองตัว สร้างสตริง Minimal โดยเปรียบเทียบตัวแรกของทั้งสอง เลือกตัวน้อยกว่า (เท่ากันเลือกสตริงแรก) ทำซ้ำจนหมดตัวอย่าง: input1=TUTORIALS, input2=POINT → POINTTUTORIALSขั้นตอน (Greedy Merge)เติม Sentinel z ท้ายทั้งสองTwo Pointer temp1, temp2เปรียบเทียบ Suffix input1[temp1:] vs input2[temp2:]เลือ

  7. โปรแกรมนับ Similar Substrings สำหรับแต่ละ Query ใน Python

    ให้สตริง s และ Queries Q[i]=(l,r) สำหรับ Substring s[l:r] หาจำนวน Substring ใน s ที่ Similar (โครงสร้างตัวอักษรซ้ำเหมือนกัน)ตัวอย่าง: s=hjhhbcbk, Q=[(1,2),(2,4)] → [6,1]ขั้นตอน (Fingerprint + Brute Force)สร้าง Fingerprint สำหรับทุก Substring ยาว 10 (Pattern ของตัวอักษร)ต่อ Query: ดึง Pattern ของ s1

  8. โปรแกรมนับ Substring ต่างกันสำหรับ Query หลายๆ อย่างใน Python

    ให้สตริง s และ Queries Q[i]=(l,r) หาจำนวน Distinct Substrings ใน s[l:r+1] สำหรับแต่ละ Queryตัวอย่าง: s=pptpp, Q=[(1,1),(1,4),(1,1),(0,2)] → [1,8,1,5]ขั้นตอน (Suffix Array + LCP per Query)ต่อ Query: ดึง Substring subสร้าง Suffix Array ของ subคำนวณ LCP Array ด้วย Kasai AlgorithmDistinct = n(n+1)/2 - s

  9. โปรแกรมนับ 5-Star Reviews เพิ่มเติมเพื่อให้ถึง Threshold ใน Python

    ให้ reviews=[[5-star, total]] และ threshold% หา 5-star เพิ่มเติมน้อยสุดทำให้ % ≥ Thresholdตัวอย่าง: reviews=[[3,4],[1,2],[4,6]], t=78 → 7 (รวม 8/12=66.7% → ต้องการ 7 เพิ่ม → 15/19=78.9%)ขั้นตอน (Math)รวม a=sum(5-star), b=sum(total)ถ้า a*100 ≥ t*b: 0delta = t*b - 100*aคืน (delta + (99-t)) // (100-t)

  10. โปรแกรมบวก 1 ให้เลขที่แสดงเป็น Digit List ใน Python

    ให้ Array nums เป็นหลักของเลข (เช่น [2,5,6] = 256) บวก 1 คืน Array ใหม่ตัวอย่าง: nums=[2,6,9] → [2,7,0]ขั้นตอน (Simulate Addition)เริ่มจาก Index สุดท้ายถ้า +1 ≤ 9: บวกแล้ว Breakมิฉะนั้น: ตั้ง 0, Carry ไปซ้ายถ้าล้นซ้ายสุด: Insert 1 หน้าสุดตัวอย่างโค้ด= 0: if nums[i] + 1 <= 9: nums

  11. โปรแกรมหาจำนวน Element เพิ่มน้อยสุดเพื่อให้ Sum เท่า Target ใน Python

    ให้ nums, k, t Operation: เพิ่ม e ∈ [-k, k] ท้ายลิสต์ หา Operations น้อยสุดทำให้ Sum = tตัวอย่าง: nums=[3,1], k=4, t=19 → 4 (เพิ่ม [4,4,4,3])ขั้นตอน (Math)diff = |t - sum(nums)|result = diff // kถ้า result*k != diff: result += 1ตัวอย่างโค้ดdef solve(nums, k, t): total = sum(nums) diff = abs(

  12. โปรแกรมตรวจสอบจัดเรียง Array ให้ Diff คู่ติดกันเท่ากันได้หรือไม่ใน Python

    ให้ลิสต์ nums ตรวจสอบว่าจัดเรียงใหม่ได้หรือไม่ ที่ Diff ระหว่างคู่ติดกันเท่ากันทุกคู่ (Arithmetic Progression)ตัวอย่าง: nums=[8,2,6,4] → True (เรียง [2,4,6,8] Diff=2)ขั้นตอน (Sort + Check)N ≤ 2: Trueเรียง numstargetDiff = nums[1]-nums[0]เช็ค nums[i]-nums[i-1] == targetDiff ทุก iตัวอย่างโค้ดdef solve

  13. โปรแกรมหาผลรวม Subarray Modulo M สูงสุดใน Python

    ให้ Array nums และ m หา max(subarray_sum % m)ตัวอย่าง: nums=[1,5,7,3], m=5 → 3ขั้นตอน (Prefix Sum + Ordered Set)คำนวณ Prefix Sum Modulo m → csumMaintain Sorted List seen ของ Prefix ที่ผ่านมาสำหรับแต่ละ s ใน csum: หา s แรก (Bisect) → Candidate = (s - seen[idx]) % mUpdate Maxตัวอย่างโค้ดimport bisect

  14. โปรแกรมหาผลรวมตัวเลขใน Alphanumeric String ใน Python

    ให้สตริง s ประกอบตัวเลข 0-9 และตัวอักษร หาผลรวมตัวเลขที่ติดกันถือเป็นจำนวนเดียวตัวอย่าง: s=hello25world63power86 → 174 (25+63+86)ขั้นตอน (Single Pass)ret=0, curr=0วน ch ใน s:ถ้าเป็น Digit: curr = 10*curr + int(ch)มิฉะนั้น: ret += curr; curr = 0คืน ret + currตัวอย่างโค้ดfrom string import digits def

  15. โปรแกรมตรวจสอบลูกบอล 3D จะชนกันได้หรือไม่ด้วย Acceleration ใน Python

    ให้ลูกกลม 2 ลูก รัศมี r1,r2 ตำแหน่ง pos1,pos2 และ Acceleration acc1,acc2 ตรวจสอบว่าจะชนกันได้หรือไม่ตัวอย่าง: r1=1,r2=2, pos1=(0,0,0), acc1=(100,0,0), pos2=(4,0,0), acc2=(0,0,0) → Trueขั้นตอน (Physics + Quadratic)Relative Position p = pos1-pos2, Relative Accel a = acc1-acc2ระยะทางยกกำลังสองเป็นฟังก์

  16. โปรแกรมตรวจสอบ Perfect Square โดยไม่ใช้ sqrt ใน Python

    ตรวจสอบว่า n เป็น Perfect Square (มีจำนวนเต็ม a ที่ a*a=n) โดยไม่ใช้ sqrt()ตัวอย่าง: n=121 → True (11×11)ขั้นตอน (Binary Search)n==0 หรือ 1: Truestart=2, stop=n//2Binary Search หา k ที่ k*k == nตัวอย่างโค้ดdef solve(n): if n == 0 or n == 1: return True start = 2 stop = n // 2

  17. โปรแกรมตรวจสอบเลขยกกำลังสองใน Python

    ตรวจสอบว่า n เป็นกำลังของ 2 หรือไม่ตัวอย่าง: n=2048 → True (2¹¹)ขั้นตอน (Bitwise)n==0: False(n & (n-1)) == 0: True (มี Bit 1 เพียง 1 ตัว)ตัวอย่างโค้ดdef solve(n): if n == 0: return False return (n & (n - 1)) == 0 n = 2048 print(solve(n)) # Output: Trueอินพุต2048เอาต์พุตTrue

  18. โปรแกรมหาระยะห่างใกล้สุดถึงตัวอักษร c ในสตริง Python

    ให้สตริง s และตัวอักษร c (มีใน s) สร้างลิสต์ความยาว len(s) ที่ i = ระยะห่างใกล้สุดจาก s[i] ถึง cตัวอย่าง: s=ppqppq, c=q → [2,1,0,1,1,0]ขั้นตอน (Two Pass / Single Pass)หาตำแหน่ง c แรก x = s.index(c)วน i ทุกตำแหน่ง:เจอ c ใหม่ → อัปเดต x และ Propagate ระยะห่างย้อนกลับd[i] = abs(x-i)ตัวอย่างโค้ด ind:

  19. โปรแกรมหาพจน์ที่หายไปจาก Arithmetic Sequence ใน Python

    ให้ Array nums ขนาด n-1 เป็น Arithmetic Sequence ขาด 1 พจน์ (ไม่ใช่พจน์แรก/สุดท้าย) หาพจน์ที่หายตัวอย่าง: nums=[5,7,11,13] → 9 (สูตร 2i+5, i=2 → 9)ขั้นตอน (Binary Search)ถ้า len==2: คืนค่าเฉลี่ยถ้า nums[0]==nums[1]: คืน nums[0]interval = (last-first)//lenBinary Search หาจุดที่ nums[mid] != first + i

  20. โปรแกรมหาจำนวนขั้นต่ำไปถึงเป้าหมายด้วย Baby/Giant Steps ใน Python

    ให้ Queries Q[i] = [a_i, b_i, d_i] เริ่ม (0,0) ขั้นตอนเดินได้ระยะ Euclidean อย่างน้อย a สูงสุด b หาขั้นต่ำไป (d_i, 0)ตัวอย่าง: Q=[(2,3,1),(1,2,0),(3,4,11)] → [2,0,3]ขั้นตอนmmin=min(a,b), mmax=max(a,b)d==0: 0 ขั้นd==mmin หรือ mmax: 1 ขั้นd < mmax: 2 ขั้น (เดินสามเหลี่ยม)มิฉะนั้น: ceil(d/mmax)ตัวอย่าง

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:369/451  20-คอมพิวเตอร์/Page Goto:1 363 364 365 366 367 368 369 370 371 372 373 374 375