Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript
JavaScript
  1. สุ่มดัชนีของค่าเป้าหมายในอาร์เรย์ (Random Pick Index) ใน JavaScript

    ปัญหา รับอาร์เรย์ arr (อาจซ้ำ) และค่า num ที่มีอยู่ในอาร์เรย์ คืนดัชนีของ num แบบสุ่ม (ถ้ามีหลายดัชนี) ตัวอย่าง const arr = [5, 3, 6, 7, 3, 4, 2, 3]; const num = 3; 3 อยู่ดัชนี 1, 4, 7 → คืนหนึ่งในนั้นแบบสุ่ม (เช่น 4) โค้ดตัวอย่าง (Recursive Search + Random) const arr = [5, 3, 6, 7, 3, 4, 2, 3]; c

  2. ลดตัวเลขให้เหลือ 1 ด้วยการหาร 2 หรือ +/- 1 (Integer Replacement) ใน JavaScript

    ปัญหา รับ num ทำซ้ำ: คู่ → หาร 2, คี่ → +1 หรือ -1 หาจำนวนขั้นตอนน้อยที่สุดจนเหลือ 1 ตัวอย่าง const num = 7; 7→8→4→2→1 (4 ขั้นตอน) หรือ 7→6→3→2→1 (4 ขั้นตอน) → 4 โค้ดตัวอย่าง (BFS + Memoization) const num = 7; const downToOne = (num = 1) => { let min = Number.POSITIVE_INFINITY; let stack

  3. หา Median ของ Sliding Window ทุกตำแหน่งใน JavaScript

    Median ค่ากลางของรายการที่เรียงแล้ว หากจำนวนคู่ ให้ค่าเฉลี่ยสองค่ากลาง ปัญหา รับอาร์เรย์ arr และขนาดหน้าต่าง num หา median ของทุก sliding window ขนาด num ตัวอย่าง const arr = [5, 3, 7, 5, 3, 1, 8, 9, 2, 4, 6, 8]; const num = 3; ผลลัพธ์: [5, 5, 5, 3, 3, 8, 8, 4, 4, 6] โค้ดตัวอย่าง (Binary Search +

  4. สร้างสตริงจาก 0 และ 1 ภายใต้ข้อจำกัดจำนวน (Forming Strings with 0s and 1s) ใน JavaScript

    ปัญหา รับอาร์เรย์สตริง arr (ประกอบ 0,1) และ m, n หาจำนวนสตริงใน arr ที่สร้างได้โดยใช้ 0 ไม่เกิน m ตัว และ 1 ไม่เกิน n ตัว ตัวอย่าง const arr = [10, 0001, 111001, 1, 0]; const m = 5, n = 3; สร้างได้ 4 สตริง: 10, 0001, 1, 0 → 4 โค้ดตัวอย่าง (0/1 Knapsack DP) const arr = [10, 0001, 111001, 1, 0]; con

  5. เข้ารหัสสตริงเพื่อลดขนาด (String Encoding) ใน JavaScript

    ปัญหา เข้ารหัสสตริงด้วยกฎ k[substring] แทน substring ที่ซ้ำ k ครั้ง เปรียบเทียบความยาว คืนสตริงที่สั้นกว่า ตัวอย่าง const str = aabcaabcd; เข้ารหัส: 2[aabc]d (สั้นกว่าต้นฉบับ) โค้ดตัวอย่าง (Dynamic Programming) const str = aabcaabcd; function encode(s) { const { length } = s; const dp = Arr

  6. ตรวจสอบรูปหลายเหลี่ยมคูน (Convex Polygon) ใน JavaScript

    Convex Polygon รูปหลายเหลี่ยมที่มุมภายในทุกมุมน้อยกว่า 180 องศา ปัญหา รับอาร์เรย์พิกัด [[x,y], ...] ตรวจสอบว่าจุดเหล่านี้สร้าง Convex Polygon ได้หรือไม่ ตัวอย่าง const arr = [[0,0],[0,1],[1,1],[1,0]]; เป็นสี่เหลี่ยมจัตุรัส มุม 90 องศา → true โค้ดตัวอย่าง (Cross Product) const arr = [[0,0],[0,1],[

  7. สร้าง Random10() จาก Random7() ใน JavaScript

    ปัญหา มี random7() คืน 1-7 แบบสุ่ม เขียน random10() ให้คืน 1-10 โดยใช้แค่ random7() ไม่ใช้ library อื่น โค้ดตัวอย่าง const random7 = () => Math.ceil(Math.random() * 7); const random10 = () => { let sum; for(let i = 0; i < 50; i++){ sum += random7(); } return (sum % 10) + 1; };

  8. นับ Substring ที่ไม่ซ้ำใน Circular String (Infinite Wraparound) ด้วย JavaScript

    ปัญหา มีสตริง S เป็น infinite wraparound ของ abcdefghijklmnopqrstuvwxyz รับสตริง str หาจำนวน unique non-empty substrings ของ str ที่ปรากฏใน S ตัวอย่าง const str = zab; Substrings ใน S: z, a, b, za, ab, zab → 6 ตัว → 6 โค้ดตัวอย่าง (DP) const str = zab; const allSubstrings = (str = ) => { co

  9. Get และ Set CSS Variables (Custom Properties) ด้วย JavaScript

    วิธีการ getComputedStyle() คืนอ็อบเจกต์สไตล์ทั้งหมด getPropertyValue() ดึงค่าตัวแปร CSS setProperty() เปลี่ยนค่าตัวแปร CSS ตัวอย่างที่ 1 <!DOCTYPE html> <html> <head> <style> :root { --outerColor: magenta; --innerColor: lightgreen; text-align: center; } div { margin: 5%; pad

  10. Auto Grow Textarea ด้วย JavaScript และ CSS

    ตัวอย่างที่ 1 <!DOCTYPE html> <html> <head> <style> * { margin: 3%; color: navy; font-size: 1.2em; } #ta { padding: 2%; resize: none; width: 330px; min-height: 80px; overflow: hidden; box-sizing: border-box; } </style> </head> <body> <form> <label f

  11. กำหนดอันดับจากคะแนนสอบใน JavaScript

    ปัญหา รับอาร์เรย์คะแนน arr คืนอาร์เรย์อันดับ (1 = สูงสุด, 2 = อันดับ 2, ...) ตัวอย่าง const arr = [50, 47, 39, 32, 31]; เรียงมากไปน้อยเหมือนเดิม → อันดับ [1, 2, 3, 4, 5] โค้ดตัวอย่าง const arr = [50, 47, 39, 32, 31]; const findRanks = (arr = []) => { const { length } = arr; let sortArray

  12. หา Next Greater Element ใน Circular Array ด้วย JavaScript

    Circular Array อาร์เรย์ที่ตัวสุดท้ายเชื่อมกับตัวแรก (วนรอบ) ปัญหา รับ Circular Array หา Next Greater Element ของแต่ละตัว (หาไปทางขวา วนรอบได้) หากไม่มีให้ -1 ตัวอย่าง const arr = [7, 8, 7]; 7 → 8, 8 → -1, 7 → 8 → ผลลัพธ์ [8, -1, 8] โค้ดตัวอย่าง (Monotonic Stack) const arr = [7, 8, 7]; const next

  13. หา Mode (ค่าที่พบบ่อยสุด) ใน Binary Search Tree ด้วย JavaScript

    Mode ค่าที่เกิดบ่อยที่สุดในชุดข้อมูล Binary Search Tree BST: ซ้าย ≤ โหนด ≤ ขวา ทั้งสองฝั่งก็เป็น BST ปัญหา รับราก BST (อาจมีค่าซ้ำ) หา Mode ของข้อมูลในต้นไม้ โค้ดตัวอย่าง class Node{ constructor(data) { this.data = data; this.left = null; this.right = null; } }; class BinarySearchTree{ construct

  14. วิ่งเฉียง (Diagonal Traversal) ในเมทริกซ์สี่เหลี่ยมจัตุรัสด้วย JavaScript

    ปัญหา รับเมทริกซ์สี่เหลี่ยมจัตุรัส วิ่งเฉียง (zigzag diagonal) เก็บค่าในอาร์เรย์ตามลำดับที่เจอ ตัวอย่าง const arr = [[1,2,3],[4,5,6],[7,8,9]]; ลำดับ: 1, 2, 4, 7, 5, 3, 6, 8, 9 → [1,2,4,7,5,3,6,8,9] โค้ดตัวอย่าง const arr = [[1,2,3],[4,5,6],[7,8,9]]; const findDiagonalOrder = (arr = []) => {

  15. นับวิธีกำหนดเครื่องหมาย + - ให้ผลรวมเท่ากับเป้าหมาย (Target Sum) ใน JavaScript

    ปัญหา รับอาร์เรย์ arr และ target แต่ละตัวเลขเลือกเครื่องหมาย + หรือ - จำนวนวิธีที่ผลรวมเท่ากับ target ตัวอย่าง const arr = [1, 1, 1, 1, 1]; const target = 3; 5 วิธี: -1+1+1+1+1, +1-1+1+1+1, +1+1-1+1+1, +1+1+1-1+1, +1+1+1+1-1 → 5 โค้ดตัวอย่าง (Memoization / DP) const arr = [1, 1, 1, 1, 1]; const ta

  16. หาคู่เฉพาะเจาะจงในอาร์เรย์ (Peculiar Pairs) ด้วย JavaScript

    ปัญหา รับอาร์เรย์ arr นับคู่ดัชนี (i, j) ที่ i < j และ 2 * arr[j] ตัวอย่าง const input = [2, 4, 3, 5, 1]; คู่ที่ตอบโจทย์: [4,1], [3,1], [5,1] → ผลลัพธ์ 3 โค้ดตัวอย่าง (Binary Indexed Tree / Fenwick Tree) const arr = [2, 4, 3, 5, 1]; const peculiarPairs = (arr = []) => { let count = 0; l

  17. หา 1 ต่อเนื่องมากสุดเมื่อพลิก 0 ได้สูงสุด 1 ตัว (JavaScript)

    ปัญหา รับอาร์เรย์ไบนารี หา 1 ต่อเนื่องมากสุด หากอนุญาตให้พลิก 0 เป็น 1 ได้สูงสุด 1 ตัว ตัวอย่าง const arr = [1, 0, 1, 1, 0]; พลิก 0 ตำแหน่ง 1 → 1,1,1,1,0 → 4 ตัวติดกัน → 4 โค้ดตัวอย่าง (Sliding Window) const arr = [1, 0, 1, 1, 0]; const findMaximumOne = (nums = []) => { let count = 0, first

  18. หา Good Base ที่เล็กที่สุดของตัวเลขใน JavaScript

    Good Base ฐาน k (k≥2) เรียกว่า Good Base ของ num หากเขียน num ในฐาน k แล้วตัวเลขทุกหลักเป็น 1 เช่น 13 ฐาน 3 = 111 → 3 เป็น Good Base ของ 13 ปัญหา รับสตริง str แทนตัวเลข หา Good Base ที่เล็กที่สุด คืนเป็นสตริง ตัวอย่าง const str = 4681; 4681 ฐาน 8 = 11111 → ผลลัพธ์ 8 โค้ดตัวอย่าง (BigInt + Binary

Total 5941 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:28/298  20-คอมพิวเตอร์/Page Goto:1 22 23 24 25 26 27 28 29 30 31 32 33 34