Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript
JavaScript
  1. หาทุกวิธีการแยกส่วนจำนวนเต็ม (Integer Partition) ใน JavaScript

    Integer Partition คืออะไร การแยกส่วน (Partition) ของจำนวนเต็มบวก n คือ การเขียน n เป็นผลรวมของจำนวนเต็มบวก สองวิธีที่ต่างกันแค่ลำดับถือว่าเป็น partition เดียวกัน ตัวอย่าง n = 4 4 3 + 1 2 + 2 2 + 1 + 1 1 + 1 + 1 + 1 มีทั้งหมด 5 วิธี (p(4) = 5) โค้ดตัวอย่าง (Dynamic Programming - นับจำนวน) Arr

  2. ซ่อนอีเมลด้วย Masking ใน JavaScript

    Email Masking คืออะไร การซ่อนส่วนหนึ่งของอีเมลเพื่อความเป็นส่วนตัว เช่น แสดงแค่ตัวแรกและตัวสุดท้ายของชื่อ แล้วแทนกลางด้วยจุด ตัวอย่าง const email = ramkumar@example.com; // ผลลัพธ์: r...r@example.com โค้ดตัวอย่าง { const [name, domain] = email.split(@); const { length: len } = name; // ต

  3. ปัญหา Combination Sum ใน JavaScript

    ปัญหา Combination Sum กำหนดชุดตัวเลขหล보 (Candidates) ไม่ซ้ำกัน และตัวเลขเป้าหมาย (Target) หา ทุกชุดการรวม (Combinations) ที่ผลรวมเท่ากับ Target โดย ตัวเลขแต่ละตัวใช้ได้ไม่จำกัดครั้ง ตัวอย่าง candidates = [2, 3, 6, 7], target = 7 คำตอบ: [ [7], [2, 2, 3] ] โค้ดตัวอย่าง (Backtracking) { // Base ca

  4. หา LCM (ค่าต่ำสุดร่วม) ของสองจำนวนใน JavaScript

    LCM (Least Common Multiple) คืออะไร ค่าต่ำสุดร่วม (LCM) ของจำนวนเต็มสองจำนวน a และ b คือ จำนวนเต็มบวกที่น้อยที่สุดที่หารด้วย a และ b ลงตัว ตัวอย่าง LCM ของ 4 และ 6 คือ 12 เพราะ 12 หาร 4 ลงตัว (3) และหาร 6 ลงตัว (2) ความสัมพันธ์กับ GCD/HCF LCM(a, b) × GCD(a, b) = a × b ดังนั้น LCM(a, b) = (a × b) /

  5. Hamming Distance ระหว่างสองสตริงใน JavaScript

    Hamming Distance คืออะไร Hamming Distance ระหว่างสตริงสองตัวที่มี ความยาวเท่ากัน คือ จำนวนตำแหน่งที่ตัวอักษรต่างกัน ตัวอย่าง const str1 = delhi; const str2 = delph; ตำแหน่งที่ 4 (h vs p) และ 5 (i vs h) ต่างกัน → Hamming Distance = 2 โค้ดตัวอย่าง const str1 = delhi; const str2 = delph; const hammi

  6. Block Search (การค้นหาแบบบล็อก) ใน JavaScript

    Block Search คืออะไร Block Search (หรือ Jump Search) เป็นอัลกอริทึมค้นหาในอาร์เรย์ที่ จัดเรียงแล้ว คล้าย Binary Search แต่กระโดดข้ามข้อมูลเป็นบล็อกขนาดคงที่ แทนการแบ่งครึ่ง แนวคิด ขนาดบล็อก m = √n (รากที่สองของความยาวอาร์เรย์) - ค่าที่เหมาะสมที่สุด ตรวจสอบที่ดัชนี: arr[0], arr[m], arr[2m], arr

  7. ปัญหาบันไดแบบ Recursive ใน JavaScript

    ปัญหาบันได (Staircase Problem) มีบันได n ขั้น คนยืนด้านล่างต้องการขึ้นไปด้านบน สามารถเดินได้ทีละ 1 หรือ 2 ขั้น ต้องการหาจำนวนวิธีการเดินขึ้นไปถึงขั้นบนสุด นี่คือปัญหา Fibonacci แบบคลาสสิก: F(n) = F(n-1) + F(n-2) F(1) = 1 วิธี (1) F(2) = 2 วิธี (1+1, 2) F(3) = 3 วิธี (1+1+1, 1+2, 2+1) F(4) =

  8. แปลงองศาเป็นเรเดียนใน JavaScript

    เรเดียน (Radian) คืออะไร เรเดียนเป็นหน่วยวัดมุมมาตรฐานในคณิตศาสตร์ 1 เรเดียน = มุมที่โค้งวงกลมยาวเท่ารัศมี ความสัมพันธ์: 180° = π เรเดียน สูตร: radian = degree × (π / 180) โค้ดตัวอย่าง (มีบั๊กในต้นฉบับ) const deg = 180; const degreeToRadian = (degree) => { const factor = (Math.PI / 180); con

  9. หา Power Set (ชุดยกกำลัง) ของเซตใน JavaScript

    Power Set คืออะไร Power Set ของเซต S คือเซตของ ทุกเซตย่อย (Subsets) ของ S รวมถึงเซตว่างและ S เอง กำหนดสัญลักษณ์ว่า P(S) ตัวอย่าง ถ้า S = {x, y, z} เซตย่อยทั้งหมด 8 เซต: { {}, {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z} } โค้ดตัวอย่าง (Bit Manipulation) const set = [x, y, z]; const po

  10. Levenshtein Distance ใน JavaScript

    Levenshtein Distance คืออะไร Levenshtein Distance (ระยะทางเลเวนชไทน์) เป็นเมตริกวัดความแตกต่างระหว่างสตริงสองตัว คือ จำนวนการแก้ไขขั้นต่ำ (Insert, Delete, Substitute) เพื่อเปลี่ยนสตริงหนึ่งให้กลายเป็นอีกตัว ตัวอย่าง const str1 = hitting; const str2 = kitten; ระยะทาง = 3 (3 ขั้นตอน): kitten → hit

  11. Interpolation Search ใน JavaScript

    Interpolation Search คืออะไร Interpolation Search เป็นอัลกอริทึมค้นหาในอาร์เรย์ที่ จัดเรียงแล้ว และมีการกระจายค่าที่ สม่ำเสมอ (Uniformly Distributed) เป็นการปรับปรุงจาก Binary Search โดยคาดเดาตำแหน่งเป้าหมายจากค่าที่ต้องการค้นหา แทนที่จะแบ่งครึ่งแบบคงที่ สูตรคำนวณตำแหน่ง pos = lo + ((x - arr[lo]) *

  12. ตรวจสอบตัวอักษรต้นและท้ายสตริงใน JavaScript

    เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง 2 ตัว (str1, str2) และตรวจสอบว่า str1 เริ่มต้นด้วย str2 หรือ ลงท้ายด้วย str2 ถ้าใช่คืนค่า true มิฉะนั้น false โค้ดตัวอย่าง str1.length) return false; if (str1 === str2) return true; const { length: l1 } = str1; const { length: l2 } = str2;

  13. แปลงอ็อบเจกต์เป็นอาร์เรย์ 2 มิติใน JavaScript

    สมมติว่ามีอ็อบเจกต์เก็บข้อมูลสภาพอากาศ: const obj = { city: New Delhi, maxTemp: 32, minTemp: 21, humidity: 78, aqi: 456, day: Tuesday }; เราต้องเขียนฟังก์ชันแปลงอ็อบเจกต์นี้เป็นอาร์เรย์ของอาร์เรย์ (2D Array) โดยแต่ละซับอาร์เรย์มี 2 อิลิเมนต์: [คีย์, ค่า] ผลลัพธ์ที่คาดหวัง [ [city, New

  14. แปลงอาร์เรย์ของอาร์เรย์เป็นอ็อบเจกต์ใน JavaScript

    สมมติว่ามีอาร์เรย์ของอาร์เรย์ที่เก็บข้อมูลนักคริกเก็ตดังนี้: const arr = [ [Name, V Kohli], [Matches, 13], [Runs, 590], [Highest, 183], [NO, 3], [SR, 131.5] ]; แต่ละซับอาร์เรย์แทนคู่คีย์-ค่า (Key-Value Pair) โดยอิลิเมนต์แรกคือคีย์ และอิลิเมนต์ที่สองคือค่า เราต้องเขียนฟังก์ชันสร้างอ็อบเจก

  15. ตัดเครื่องหมาย ? ออกจากต้นและท้ายสตริงใน JavaScript

    เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเข้ามา ซึ่งอาจมีเครื่องหมายคำถาม (?) อยู่ที่ ต้นและท้ายของสตริง ฟังก์ชันควรตัดเครื่องหมายเหล่านี้ออก โดยคงส่วนกลางไว้เหมือนเดิม ตัวอย่าง const str = ??this is a ? string?; ผลลัพธ์ที่คาดหวัง: this is a ? string โค้ดตัวอย่าง (วิธีเดิม - ซับซ้อน) const str =

  16. แทรกตัวอักษรที่ตำแหน่งที่ n ในสตริงด้วย JavaScript

    เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์กิวเมนต์ 3 ค่า: สตริง (String) ตัวเลข (Number) - จำนวนตัวอักษรก่อนแทรก ตัวอักษรเดี่ยว (Character) - ตัวอักษรที่จะแทรก ตัวเลขที่รับเข้ามาจะมีค่าน้อยกว่าความยาวของสตริงเสมอ ฟังก์ชันควรแทรกตัวอักษรที่กำหนด หลังจากทุก n ตัวอักษร และคืนค่าสตริงใหม่ ตัวอย

  17. เปรียบเทียบประสิทธิภาพฟังก์แฟกทอเรียลแบบ Recursive และ Loop ใน JavaScript

    เราจะเขียนฟังก์ชัน JavaScript สองฟังก์ชันที่ทำหน้าที่คำนวณแฟกทอเรียล (Factorial) ของตัวเลขที่รับเข้ามา: ฟังก์ชันแรก: ใช้ for loop หรือ while loop ในการคำนวณ ฟังก์ชันที่สอง: ใช้วิธีการ Recursive (การเรียกซ้ำ) จากนั้นเราจะเปรียบเทียบเวลาที่ใช้ในการทำงานของทั้งสองวิธีผ่านการวนซ้ำจำนวนมาก ตัวอย่า

  18. การทดสอบจำนวนเฉพาะใน JavaScript

    จำนวนเฉพาะ (Prime Number) คือจำนวนธรรมชาติที่มากกว่า 1 ซึ่งไม่สามารถสร้างขึ้นได้จากการคูณจำนวนธรรมชาติอีกสองจำนวนที่เล็กกว่า จำนวนธรรมชาติส่วนที่เหลือที่มากกว่า 1 เรียกว่าจำนวนประกอบ (Composite Number) การทดสอบจำนวนเฉพาะ (Primality Test) เป็นอัลกอริทึมสำหรับตรวจสอบว่าตัวเลขที่ป้อนเข้ามาเป็นจำนวนเฉพา

  19. อัลกอริทึมยุคลิด (Euclidean Algorithm) สำหรับหาตัวหารร่วมมาก (GCD) ใน JavaScript

    อัลกอริทึมยุคลิดเป็นวิธีหาตัวหารร่วมมาก (GCD) ของสองจำนวน หลักการคือ GCD ของสองจำนวนไม่เปลี่ยนถ้าแทนจำนวนที่มากกว่าด้วยผลต่างระหว่างมันกับจำนวนที่น้อยกว่า ทำซ้ำจนทั้งสองเท่ากัน ตัวอย่าง: GCD(252, 105) = 21 ตัวอย่างโค้ด b) { [a, b] = [a - b, b]; } else { [a, b] = [a, b - a]; } } return a ||

  20. การตรวจสอบกำลังของ 2 ด้วย Bitwise Operations ใน JavaScript

    เราต้องเขียนฟังก์ชันตรวจสอบว่าตัวเลขเป็นกำลังของ 2 หรือไม่ โดยใช้ bitwise operation หลักการ: กำลังของ 2 ในรูป binary จะมี bit 1 เพียงตัวเดียว (เช่น 1=0001, 2=0010, 4=0100, 8=1000) ดังนั้น num & (num - 1) จะเท่ากับ 0 ตัวอย่างโค้ด const num1 = 256; const num2 = 1024; const isPowerOfTwo = (num = 1) =&

Total 5941 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:38/298  20-คอมพิวเตอร์/Page Goto:1 32 33 34 35 36 37 38 39 40 41 42 43 44