Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript
JavaScript
  1. จัดรูปแบบ Software License Key ใน JavaScript

    ปัญหา รับสตริง str (ตัวอักษร/ตัวเลข/ขีด) และ n จัดกลุ่มตัวอักษรให้ยาว n ตัว (กลุ่มแรกสั้นกว่าได้) แปลงเป็นตัวใหญ่ทั้งหมด ตัวอย่าง const str = 8-4B0t37-k; const num = 4; ผลลัพธ์: 84B0-T37K (สองกลุ่ม ยาว 4 ตัว) โค้ดตัวอย่าง const str = 8-4B0t37-k; const num = 4; const formatKey = (str = , num = 1)

  2. Magical String: นับจำนวน 1 ใน n ตัวแรก (JavaScript)

    Magical String สตริงที่ประกอบด้วย 1 และ 2 ซึ่งจำนวนตัวอักษรติดกันของแต่ละกลุ่มจะสร้างสตริงเดิมขึ้นมา str = 1221121221221121122... กลุ่ม: 1, 22, 11, 2, 1, 22, 1, 22, 11, 2, 11, 22... จำนวน: 1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2... (เหมือน str เอง) ปัญหา รับ num นับจำนวน 1 ใน num ตัวแรกของ Magical Strin

  3. หาตัวเลขที่มากที่สุดอันดับ 3 ในอาร์เรย์ (Third Maximum) ด้วย JavaScript

    ปัญหา รับอาร์เรย์ตัวเลข หาตัวเลขที่มากที่สุดอันดับ 3 (นับค่าที่ไม่ซ้ำ) หากไม่มี 3 ค่า ให้คืนค่าสูงสุด ตัวอย่าง const arr = [34, 67, 31, 87, 12, 30, 22]; ค่าที่ไม่ซ้ำเรียงมากไปน้อย: 87, 67, 34, 31, 30, 22, 12 → อันดับ 3 คือ 34 โค้ดตัวอย่าง const arr = [34, 67, 31, 87, 12, 30, 22]; const findThirdM

  4. สร้างอาร์เรย์ Kit-Kat (FizzBuzz แบบกำหนดเอง) ใน JavaScript

    ปัญหา รับ num, m, n สร้างอาร์เรย์ 1 ถึง num แทนที่: หาร m ลงตัว → kit หาร n ลงตัว → kat หารทั้ง m และ n ลงตัว → kitkat ตัวอย่าง const num = 50; const m = 5, n = 6; โค้ดตัวอย่าง const num = 50; const m = 5, n = 6; const kitKat = (num = 1, m = 1, n = 1) => { const res = []; for(le

  5. หาตัวอักษรที่ n ในลำดับตัวเลขธรรมชาติ (Natural Number Sequence) ด้วย JavaScript

    ลำดับตัวเลขธรรมชาติ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12... (ต่อเนื่องไม่มีคอมม่า) ปัญหา รับ num หาตัวอักษรที่ num ในลำดับนี้ ตัวอย่าง const num = 13; สตริง: 1234567891011 ตัวที่ 13 คือ 1 โค้ดตัวอย่าง (Brute Force) const num = 13; const findDigit = (num = 1) => { let str = ; let i = 1;

  6. บวกตัวเลขสองจำนวนโดยไม่ใช้ +, -, *, / ใน JavaScript

    ปัญหา เขียนฟังก์ชัน add() บวกสองจำนวนโดยไม่ใช้สี่ดำเนินการพื้นฐาน โค้ดตัวอย่าง (Bitwise) const m = 67, n = 33; const add = (x, y) => { while(y !== 0){ let carry = x & y; x = x ^ y; y = carry << 1; } return x; }; console.log(add(m, n)); คำอธิบาย ใช้หลัก Half

  7. นับ Beautiful Arrangement ของตัวเลข 1 ถึง n ใน JavaScript

    Beautiful Arrangement จัดเรียงตัวเลข 1 ถึง num ให้ที่ i (1-indexed) ต้องเป็นจริงอย่างใดอย่างหนึ่ง: ตัวเลขที่ตำแหน่ง i หาร i ลงตัว i หารตัวเลขที่ตำแหน่ง i ลงตัว ปัญหา นับจำนวน Beautiful Arrangement ทั้งหมดสำหรับ num ที่กำหนด ตัวอย่าง const input = 2 Arrangements: [1,2] และ [2,1] → ผลลัพธ์ 2

  8. หา Subarray ต่อเนื่องที่มีจำนวน 0 และ 1 เท่ากัน (JavaScript)

    ปัญหา รับอาร์เรย์ไบนารี หา subarray ต่อเนื่องที่มีจำนวน 0 และ 1 เท่ากัน และคืนความยาวสูงสุด ตัวอย่าง const arr = [1, 0, 0, 1, 0, 1, 0, 0]; 6 ตัวแรก: 1,0,0,1,0,1 (สาม 1 และสาม 0) → ผลลัพธ์ 6 โค้ดตัวอย่าง (Prefix Sum + Hash Map) const arr = [1, 0, 0, 1, 0, 1, 0, 0]; const findMaxLength = (arr = [])

  9. สร้างคำที่ยาวที่สุดจากสตริงโดยการลบตัวอักษร (Longest Word Formed) ใน JavaScript

    ปัญหา รับสตริง str และอาร์เรย์คำ arr ลบตัวอักษรจาก str เพื่อสร้างคำใน arr ให้ยาวที่สุด ตัวอย่าง const str = sdgfdfghdjh; const arr = [sdf, fghj, gfdfg, absc, a, hasl]; คำที่สร้างได้และยาวสุด: gfdfg (ความยาว 5) โค้ดตัวอย่าง const str = sdgfdfghdjh; const arr = [sdf, fghj, gfdfg, absc, a, hasl];

  10. ตรวจสอบ Subarray ผลรวมเป็นพหุคูณของ k (ขนาดอย่างน้อย 2) ใน JavaScript

    ปัญหา รับอาร์เรย์ arr และ target ตรวจสอบว่ามี subarray ต่อเนื่องขนาด ≥ 2 ที่ผลรวมเป็นพหุคูณของ target (n*k) หรือไม่ ตัวอย่าง const arr = [23, 2, 6, 4, 7]; const target = 6; Subarray ทั้งหมด [23,2,6,4,7] ผลรวม 42 = 7*6 → true โค้ดตัวอย่าง (Prefix Sum + Hash Map) const arr = [23, 2, 6, 4, 7]; cons

  11. หา Subsequence ที่ไม่ซ้ำกันและยาวที่สุดในอาร์เรย์สตริง (JavaScript)

    Subsequence ลำดับที่ได้จากการลบตัวอักษรบางส่วนโดยไม่เปลี่ยนลำดับ ปัญหา รับอาร์เรย์สตริง หาความยาวของ longest uncommon subsequence (subsequence ของสตริงหนึ่งที่ไม่ใช่ subsequence ของสตริงอื่นในอาร์เรย์) หากไม่มีคืน -1 ตัวอย่าง const arr = [aba, cdc, eae]; ทั้งสามสตริงยาว 3 และไม่ซ้ำกัน → ผลลัพธ์ 3

  12. สร้าง Binary Search Tree (BST) ใน JavaScript

    โครงสร้างข้อมูล Tree Tree เป็นโหนดเชื่อมต่อกัน แต่ละโหนดเก็บข้อมูลและอ้างอิงลูก Binary Search Tree BST คือ Binary Tree ที่โหนดค่าน้อยอยู่ซ้าย ค่ามากอยู่ขวา 25 / \ 20 36 / \ / \ 10 22 30 40 ขั้นตอนการสร้าง 1. Class Node class Node{ constructor(data) { this.data = data; this.left = nul

  13. หาคำที่พบบ่อยที่สุด n อันดับแรกจากประโยคใน JavaScript

    ปัญหา รับประโยค str และตัวเลข num นับความถี่แต่ละคำ คืนอาร์เรย์ num คำที่พบบ่อยสุดเรียงจากมากไปน้อย ตัวอย่าง const str = i am a good coder and i know that i can solve a problem; const num = 2; คำที่พบบ่อยสุด: i (3 ครั้ง), a (2 ครั้ง) → ผลลัพธ์ [i, a] โค้ดตัวอย่าง const str = i am a good coder and

  14. ตรวจสอบว่าสตริงสามารถทำให้เป็นพาลินโดรมได้ด้วยการลบได้สูงสุด 1 ตัวอักษร (JavaScript)

    ปัญหา ฟังก์ชันรับสตริง ตรวจสอบว่าลบตัวอักษรได้สูงสุด 1 ตัว แล้วได้พาลินโดรมหรือไม่ ตัวอย่าง const str = kjlk; ลบ l → kjk เป็นพาลินโดรม → ผลลัพธ์ true โค้ดตัวอย่าง const str = kjlk; const isPalindrome = (str = , start, end) => { while (start < end) { if (str[start] != str[end]) { ret

  15. ความแตกต่างระหว่าง PHP และ JavaScript

    JavaScript ทำงานทั้ง Front-end และ Back-end Asynchronous (Non-blocking I/O) รันในเบราว์เซอร์ และ Node.js บน Command Line ผสมกับ HTML, AJAX, XML ได้ Single-threaded, Event-driven (Non-blocking concurrency) โค้ดวางในแท็ก <script> (แนะนำให้อยู่ใน <head>) ตัวอย่าง JavaScript &

  16. หาตัวเลขสูงสุดได้จากการสลับหลักได้สูงสุด 1 ครั้ง (JavaScript)

    ปัญหา รับตัวเลข num ให้สลับหลักได้สูงสุด 1 ครั้ง เพื่อให้ได้ตัวเลขมากที่สุด หากเป็นค่าสูงสุดแล้วคืนตัวเลขเดิม ตัวอย่าง const num = 1625; สลับ 1 กับ 6 → 6125 (มากที่สุดใน 1 ครั้ง) โค้ดตัวอย่าง const num = 1625; const findMaximumDigit = (num, max = 0) => { if(!num){ return max; } return fi

  17. ตรวจสอบว่าตัวเลขเป็นผลรวมของกำลังสองสมบูรณ์สองจำนวนได้หรือไม่ (JavaScript)

    กำลังสองสมบูรณ์ (Perfect Square) ตัวเลขที่เป็นผลคูณของตัวเลขกับตัวเอง เช่น 9, 16, 81, 289 ปัญหา รับตัวเลข num ตรวจสอบว่ามี m, n ทำให้ m² + n² = num หรือไม่ ตัวอย่าง const num = 389; 389 = 17² + 10² → ผลลัพธ์ true โค้ดตัวอย่าง (Two Pointers) const num = 389; const canSumSquares = (num = 2) =>

  18. หาเส้นตรงของ 1 ยาวที่สุดในเมทริกซ์ (Horizontal, Vertical, Diagonal) ด้วย JavaScript

    ปัญหา ได้รับเมทริกซ์ไบนารี ให้หาเส้นต่อเนื่องของ 1 ที่ยาวที่สุด (แนวนอน, แนวตั้ง, แนวทแยง, แนวทแยงตรงข้าม) และคืนความยาว ตัวอย่าง const arr = [[0,1,1,0],[0,1,1,0],[0,0,0,1]]; เส้นยาวสุดคือแนวทแยงจาก arr[0][1] ถึง arr[2][3] ความยาว 3 โค้ดตัวอย่าง (Dynamic Programming) const arr = [[0,1,1,0],[0,1,1,

  19. หาระยะห่างจาก 0 ใกล้ที่สุดในเมทริกซ์ไบนารี (Binary Matrix) ด้วย JavaScript

    ปัญหา ได้รับเมทริกซ์ไบนารี (มีแค่ 0 และ 1) ให้สร้างเมทริกซ์ใหม่ขนาดเดียวกัน โดยแต่ละเซลล์เก็บระยะห่างไปยัง 0 ใกล้ที่สุด (เคลื่อนที่ได้เฉพาะแนวนอน/แนวตั้ง) ตัวอย่าง const arr = [[0,0,0],[0,1,0],[1,1,1]]; ผลลัพธ์: [[0,0,0],[0,1,0],[1,2,1]] โค้ดตัวอย่าง (BFS Multi-source) const arr = [[0,0,0],[0,1,0]

  20. กลับตัวอักษรในสตริงแบบมีเงื่อนไข (Reverse String with Twist) ใน JavaScript

    ปัญหา ฟังก์ชันรับสตริง str และตัวเลข num ให้กลับตัวอักษร num ตัวแรก ในทุกช่วง 2*num ตัวอักษร หากเหลือไม่ถึง num ตัว ให้กลับทั้งหมดที่เหลือ ตัวอย่าง const str = klmnopq; const num = 2; กลับ 2 ตัวแรกของ 4 ตัวแรก → lk, เหลือ mnopq → กลับ 2 ตัวแรกของ 3 ตัวที่เหลือ → nm → ผลลัพธ์ lkmnpoq โค้ดตัวอย่าง

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