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

    ให้ลิสต์ Intervals [[s_i, e_i]] และ point นับจำนวน Interval ที่ครอบคลุม point (รวมขอบ)ตัวอย่าง: intervals=[[2,6],[4,10],[5,9],[11,14]], point=5 → 3ขั้นตอน (O(n))count = 0วนทุก Interval ถ้า start ≤ point ≤ end: count += 1ตัวอย่างโค้ด= i and point <= j: count += 1 return count interva

  2. โปรแกรมหา Duration รวมของ K รายการที่ดูมากที่สุดใน Python

    ให้ลิสต์ shows (ชื่อรายการ) และ durations (ระยะเวลา) หา Duration รวมของ Top-K รายการที่ถูกดูมากที่สุด (รวม Duration ต่อ Show)ตัวอย่าง: shows=[The BGT,Jack jumper,The BGT,Jokers Company,Music magic], durations=[10,8,10,18,9], k=2 → 38 (Jokers Company:18, The BGT:20)ขั้นตอนรวม Duration ต่อ Show ด้วย D

  3. โปรแกรมหา Array ความยาว k ที่ Unfairness น้อยที่สุดใน Python

    ให้อาร์เรย์ A และ k เลือก k ตัวจาก A สร้าง arr ให้ max(arr) - min(arr) น้อยที่สุด (Unfairness)ตัวอย่าง: A=[25,120,350,150,2500,25,35], k=3 → 10 (เลือก [25,25,35] → 35-25=10)ขั้นตอน (Sort + Sliding Window)เรียง ASliding Window ขนาด k หา min(A[i+k-1] - A[i])ตัวอย่างโค้ดdef solve(A, k): i = 0 A

  4. โปรแกรมหา k ที่มีสมาชิก k ตัวมีค่ามากกว่าหรือเท่า k ใน Python

    ให้ลิสต์ nums (non-negative) หา k ที่มีสมาชิกใน nums ที่ ≥ k อยู่พอดี k ตัว หาไม่เจอ → -1ตัวอย่าง: nums=[6,4,0,8,2,9] → 4 (มี 4 ตัว ≥ 4: 6,4,8,9)ขั้นตอน (Sort + Scan)เรียง nums เรียงมากไปน้อยวน i จาก 1 ถึง len(nums)-1:ถ้า nums[i-1]: หยุด (ไม่มีคำตอบต่อไป)ถ้า nums[i]: คืน iตัวอย่างโค้ด nums[i]:

  5. โปรแกรมนับสมาชิกเมทริกซ์ที่ตรงเงื่อนไข Row/Column ใน Python

    ให้ Binary Matrix หาจำนวนเซลล์ที่:matrix[r][c] == 1Row r มี 1 เพียงตัวเดียว (ที่คอลัมน์ c)Column c มี 1 เพียงตัวเดียว (ที่แถว r)ตัวอย่าง: [[0,0,1],[1,0,0],[0,1,0]] → 3 (ตำแหน่ง (0,2), (1,0), (2,1))ขั้นตอน (O(m×n))คำนวณ row[r] = sum(matrix[r]) และ col[c] = sum(matrix[*][c])วนทุกเซลล์ ถ้า matrix[r][c]

  6. โปรแกรมหาค่า v ที่ทำให้นิพจน์ Array สูงสุดใน Python

    ให้อาร์เรย์ nums (เพิ่มขึ้นเข้มงวด) และ values หา max(values[i] + values[j] + nums[j] - nums[i]) สำหรับ i ≤ jตัวอย่าง: nums=[1,2,7], values=[-4,6,5] → 16 (i=1,j=2: 6+5+7-2=16)ขั้นตอน (O(n))นิพจน์ = (values[i] - nums[i]) + (values[j] + nums[j]) แยกเป็น 2 ส่วนอิสระans1 = max(values[i] - nums[i])ans2 =

  7. โปรแกรมหาผลรวมสูงสุดด้วยการ Negate สูงสุด K ครั้งใน Python

    ให้ลิสต์ nums และ k สามารถ Negate (คูณ -1) ได้ทุกครั้งที่เลือกสมาชิก ต้องทำครบ k ครั้ง หาผลรวมสูงสุดตัวอย่าง: nums=[2,1,-6,-2], k=3 → 9 (Negate -6, -2, 1 → [2,-1,6,2] Sum=9)ขั้นตอน (Greedy + Sort)เรียง nums จากน้อยไปมากNegate ตัวเลขติดลบตั้งแต่น้อยที่สุด จนกว่า k=0 หรือหมดตัวติดลบถ้า k เหลือเป็นคี่:

  8. โปรแกรมหา Mountain List เรียงเล็กซิโคกราฟิกมากที่สุดใน Python

    ให้ n, lower, upper หา List ความยาว n เพิ่มขึ้นเข้มงวดแล้วลดลงเข้มงวด ค่าอยู่ใน [lower, upper] ทั้งสองส่วนต้องไม่ว่าง หา List เรียงเล็กซิโคกราฟิกมากที่สุดตัวอย่าง: n=5, lower=3, upper=7 → [6,7,6,5,4][7,6,5,4,3] ไม่ถูก เพราะส่วนเพิ่มว่างขั้นตอนถ้า 2*(upper-lower)+1: ไม่เป็นไปได้ → []c = upper - lowe

  9. โปรแกรมหาจำนวนตำแหน่งที่เป็นไปได้ในแถว N คน รู้คนหน้าและหลังใน Python

    มีคน n คนในแถว เราอยู่ตำแหน่งไม่ทราบ รู้ว่ามีคนหน้าอย่างน้อย a คน และคนหลังสูงสุด b คน หาจำนวนตำแหน่งที่เป็นไปได้ตัวอย่าง: n=10, a=3, b=4 → 5 (ตำแหน่ง 0-4)ขั้นตอน (O(1))ถ้า a + b < n: ตำแหน่งที่เป็นไปได้ = b + 1ถ้า = n: ตำแหน่งที่เป็นไปได้ = n - aตัวอย่างโค้ดdef solve(n, a, b): if a + b = n:

  10. Matplotlib - วาด FFT ของสัญญาณพร้อมความถี่ที่ถูกต้องบนแกน X

    คำนวณ FFT และแสดงแกน X เป็นความถี่จริง (Hz) ไม่ใช่ Bin Indexขั้นตอนตั้งค่าขนาด Figureกำหนด N (จำนวนตัวอย่าง) และ m (ความถี่สัญญาณ)สร้างสัญญาณ Sine Wave: signal = sin(2π·m/N·t)คำนวณ FFT: ft = np.fft.fft(signal)หาความถี่จริง: freq = np.fft.fftfreq(N)วาด freq vs |ft|^2 (Power Spectrum)ตัวอย่างโค้ดimpor

  11. โปรแกรมหาความยาว Sublist ติดกันที่ขึ้นต้นด้วยตัวอักษรเดียวกันใน Python

    ให้ลิสต์คำ words หาความยาว Sublist ติดกันยาวสุดที่คำทุกตัวขึ้นต้นด้วยตัวอักษรเดียวกันตัวอย่าง: [she,sells,seashells,on,the,sea,shore] → 3 ([she,sells,seashells] ตัวอักษร s)ขั้นตอน (One Pass O(n))cnt=1, maxcnt=0, prev_char=วนลูปแต่ละคำ:ถ้า prev_char==: ตั้ง prev_char = word[0]ถ้า prev_char == word[0]

  12. โปรแกรมหาความยาว Sublist ตัวเลขซ้ำได้สูงสุดด้วย K Operations ใน Python

    ให้ลิสต์ nums และ k สามารถเปลี่ยนค่าตัวเลขได้สูงสุด k ครั้ง หาความยาว Sublist ติดกันที่มีตัวเลขเหมือนกันมากที่สุดตัวอย่าง: nums=[8,6,6,4,3,6,6], k=2 → 6 (เปลี่ยน 4,3 → 6 ได้ [8,6,6,6,6,6,6])ขั้นตอน (Sliding Window + Frequency Map)num_count นับความถี่ใน Windowmax_count = ความถี่สูงสุดใน Windowขยาย Wi

  13. วิธีใส่ Title ให้เส้นโค้งใน Python Matplotlib

    ใช้ plt.title() วางชื่อกราฟรวมสูตรคณิตศาสตร์ LaTeXขั้นตอนตั้งค่าขนาด Figureสร้างข้อมูล X, Y ที่เป็นโค้ง (เช่น y = 2^x + 1)วาดกราฟด้วย plt.plot()ใส่ Title ด้วย plt.title($y=2^x+1$) (รองรับ LaTeX)แสดงผลตัวอย่างโค้ดimport matplotlib.pyplot as plt import numpy as np plt.rcParams[figure.figsize] = [7.00

  14. โปรแกรมหาเมทริกซ์ Prefix Sum 2D ใน Python

    ให้เมทริกซ์ หาเมทริกซ์ใหม่ res[i][j] = ผลรวม matrix[r][c] สำหรับ r ≤ i, c ≤ jตัวอย่าง: [[8,2],[7,4]] → [[8,10],[15,21]]ขั้นตอน (In-place 2-pass)Prefix Sum แนวตั้ง: matrix[r][c] += matrix[r-1][c]Prefix Sum แนวนอน: matrix[r][c] += matrix[r][c-1]คืนค่าเมทริกซ์ที่แก้ไขแล้วตัวอย่างโค้ดdef solve(matrix):

  15. วิธีวาด Time Series จาก Pandas DataFrame ใน Matplotlib

    ตั้งค่า Column เวลาเป็น Index แล้ว Plot โดยตรงจาก DataFrameขั้นตอนตั้งค่าขนาด Figureสร้าง DataFrame มีคอลัมน์ time และ speedตั้ง Index ด้วย df.set_index(time)เรียก .plot() บน DataFrameแสดงผลตัวอย่างโค้ดfrom matplotlib import pyplot as plt import pandas as pd import numpy as np plt.rcParams[figure.f

  16. โปรแกรมหาคะแนนสูงสุดจากการแบ่ง Binary String สองส่วนใน Python

    ให้ Binary String s แบ่งเป็น s1 และ s2 (ทั้งคู่ไม่ว่าง) คะแนน = จำนวน 0 ใน s1 + จำนวน 1 ใน s2 หาคะแนนสูงสุดตัวอย่าง: s = 011001100111 → 8 (แบ่ง 01100 + 110111 → 3+5=8)ขั้นตอน (One Pass O(n))นับ ones ทั้งหมดใน szeros = 0, ans = 0วนลูป i จาก 0 ถึง len(s)-2:ถ้า s[i]==0: zeros += 1มิฉะนั้น: ones -= 1ans

  17. วิธีใส่ xtick Labels ในกล่อง (Box) ด้วย Matplotlib

    ใช้ set_bbox() บน Tick Labels เพื่อใส่พื้นหลังสีขั้นตอนสร้าง Figureดึง Axis ปัจจุบันด้วย plt.gca()ตั้งตำแหน่ง Spines (bottom, left) ให้อยู่ที่ 0วนลูป ax.get_xticklabels() ตั้ง set_bbox() ด้วยสีพื้นหลัง สีขอบ และ Alphaแสดงผลตัวอย่างโค้ดimport matplotlib.pyplot as plt plt.rcParams[figure.figsize] = [

  18. วิธีวาด Animated Image Matrix ใน Matplotlib

    สร้างแอนิเมชันเมทริกซ์ภาพ 6x6 ที่สุ่มค่าใหม่ทุกเฟรมขั้นตอนตั้งค่าขนาด Figureสร้าง Figure และ Subplotsสร้างฟังก์ชัน update(i) สร้างเมทริกซ์สุ่มใหม่และ imshow()ปิดแกนด้วย set_axis_off()ใช้ FuncAnimation เรียก update ซ้ำแสดงผลตัวอย่างโค้ดfrom matplotlib.animation import FuncAnimation import matplotlib.

  19. วิธีสร้าง Minor Ticks สำหรับ Polar Plot ใน Matplotlib

    วาด Minor Ticks (เส้นเล็ก) รอบ Polar Plot ทุก 10 องศาขั้นตอนตั้งค่าขนาด Figureสร้างข้อมูล Radius และ Thetaเพิ่ม Subplot แบบ Polarวนลูปมุม 0-360° ทุก 10° วาดเส้นสั้นจาก rmax ถึง 0.97*rmaxแสดงผลตัวอย่างโค้ดimport numpy as np import matplotlib.pyplot as plt plt.rcParams[figure.figsize] = [7.00, 3.50]

  20. โปรแกรมหาต้นทุนต่ำสุดในการสร้างสตริงที่กำหนดใน Python

    สร้างสตริง str ความยาว n ด้วย 2 Operation:เพิ่มตัวอักษรเดี่ยวท้ายสตริง ค่าใช้จ่าย aเพิ่มซับสตริง sub_str ท้ายสตริง ค่าใช้จ่าย rหาต้นทุนรวมต่ำสุดตัวอย่าง: a=5, r=4, str=tpoint → 29t (+5) → tp (+5) → tpo (+5) → tpoi (+5) → tpoin (+5) → tpoint (+4 substring t) Total = 5+5+5+5+5+4 = 29ขั้นตอน (Dynamic

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