Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. C++ คำถาม DFS ของ Subtree ในต้นไม้

    ในปัญหานี้ เราได้รับต้นไม้ไบนารี (Binary Tree) และต้องทำ DFS จากโหนดเฉพาะ โดยถือว่าโหนดที่กำหนดเป็นราก (Root) และทำ DFS จากนั้น ในต้นไม้ข้างต้น สมมติเราต้องทำ DFS จากโหนด F ในบทช่วยสอนนี้ เราจะใช้วิธีที่ไม่ธรรมดา (Unorthodox) เพื่อลดความซับซ้อนด้านเวลาอย่างมาก จึงสามารถรันโค้ดสำหรับข้อจำกัดที่สูงก

  2. C++ คำถามเกี่ยวกับความน่าจะเป็นของเลขคู่หรือคี่ในช่วงที่กำหนด

    เพื่อหาความน่าจะเป็นของความเป็นคู่หรือคี่ของตัวเลข ในช่วงที่กำหนด สำหรับแต่ละคำถาม เราต้องพิมพ์ p และ q ที่แทนความน่าจะเป็นเป็น p/q เช่น Input : N = 5, arr[] = { 6, 5, 2, 1, 7 } query 1: 0 2 2 query 2: 1 2 5 query 3: 0 1 4 Output : 0 3 4 1 2 ในปัญหานี้ เราจะเก็บอาร์เรย์สองตัวที่มีจำนวนเลขคู่และเลขค

  3. C++ หาจำนวนซับสตริงของสตริง

    ในบทความนี้ คุณจะเรียนรู้วิธีการหาจำนวนซับสตริง (ไม่รวมสตริงว่าง) ที่สามารถสร้างได้จากสตริงที่กำหนด Input : string = moon Output : 10 Explanation: ซับสตริงคือ m, o, o, n, mo, oo, on, moo, oon และ moon Input : string = yellow Output : 21 วิธีการแก้ปัญหา ให้ความยาวสตริง = n จากตัวอย่าง เราเข้าใจว่าต

  4. C++ หาจำนวนซับสตริงของสตริงหนึ่งที่ปรากฏในอีกสตริงหนึ่ง

    ในบทความนี้ เราได้รับสตริงสองตัว และต้องหาว่ามีซับสตริง (Substring) ของสตริงแรกกี่ตัวที่พบในสตริงที่สอง (ซับสตริงเดียวกันอาจเกิดขึ้นหลายครั้ง) เช่น Input : string1 = fogl string2 = google Output : 6 Explanation : ซับสตริงของ string1 ที่อยู่ใน string2 คือ [o, g, l, og, gl, ogl] Input : string1 = aj

  5. C++ หาจำนวนศูนย์ต่อท้ายในฐาน 16 ของ N!

    ในบทความนี้ เราจะเข้าใจปัญหาการหาจำนวนศูนย์ต่อท้ายของจำนวน N ในการแทนค่าแฟกทอเรียล (N!) ในฐาน 16 เช่น Input : N = 7 Output : 1 Explanation : fact(7) = 5040 ในฐาน 10 และ 13B0 ในฐาน 16 มี 1 ศูนย์ต่อท้าย Input : N = 11 Output : 2 Explanation : fact(11) = 39916800 ในฐาน 10 และ 2611500 ในฐาน 16 มี 2 ศูน

  6. C++ หาจำนวนศูนย์ต่อท้ายในฐาน B ของ N!

    ในบทความนี้ เราจะเข้าใจปัญหาการหาจำนวนศูนย์ต่อท้าย (Trailing Zeroes) ของจำนวน N ในการแทนค่าแฟกทอเรียล (N!) ในฐาน B เช่น Input : N = 7 Base = 2 Output : 4 Explanation : fact(7) = 5040 ในฐาน 10 และ 1001110110000 ในฐาน 2 มี 4 ศูนย์ต่อท้าย Input : N = 11 Base = 5 Output : 2 Explanation : fact(11) = 399

  7. C++ หาจำนวนสามเหลี่ยมหลังจากการเคลื่อนที่ N ครั้ง

    ในบทความนี้ เราต้องวาดสามเหลี่ยมที่มีสี เริ่มจากสามเหลี่ยมที่ไม่มีสี แบ่งสามเหลี่ยมออกเป็น 4 สามเหลี่ยมด้านเท่าเล็กๆ ที่มีพื้นที่เท่ากัน และทำซ้ำจนถึงขั้นตอนที่ n แล้วหาจำนวนสามเหลี่ยมด้านเท่าที่ปรากฏในรูป วิธีการแก้ปัญหา มีสองวิธีแก้ปัญหานี้ คือ วิธี Brute Force สังเกตว่าจำนวนสามเหลี่ยมเพิ่มขึ้นตา

  8. C++ หาจำนวนสามเหลี่ยมจากจุดบนสามเส้นตรง

    เราได้รับจำนวนจุดบน 3 เส้นตรง ต้องการหาว่าจุดเหล่านี้สามารถสร้างสามเหลี่ยมได้กี่รูป เช่น Input: m = 3, n = 4, k = 5 Output: 205 Input: m = 2, n = 2, k = 1 Output: 10 เราจะใช้คณิตศาสตร์การจัดหมู่ (Combinatorics) สร้างสูตรเพื่อแก้ปัญหา วิธีการแก้ปัญหา สร้างสูตรโดยใช้คณิตศาสตร์การจัดหมู่กับสถานการณ์ปั

  9. C++ หาจำนวนคู่ที่ไม่ซ้ำกันในอาร์เรย์

    เราต้องการความรู้ที่เหมาะสมในการสร้างคู่ที่ไม่ซ้ำกันในอาร์เรย์ด้วยภาษา C++ ในการหาจำนวนคู่ที่ไม่ซ้ำกัน เรานับคู่ทั้งหมดที่เป็นไปได้จากอาร์เรย์ที่กำหนด โดยแต่ละคู่ต้องไม่ซ้ำกัน เช่น - Input : array[ ] = { 5, 5, 9 } Output : 4 Explanation : คู่ที่ไม่ซ้ำกันคือ (5, 5), (5, 9), (9, 5) และ (9, 9) Input :

  10. C++ หาจำนวนการเรียงสับเปลี่ยนที่ไม่ซ้ำกันขึ้นต้นด้วย 1 ของสตริงไบนารี

    ในปัญหานี้ เราได้รับสตริงที่ประกอบด้วย 0 และ 1 เราต้องหาจำนวนการเรียงสับเปลี่ยน (Permutations) ทั้งหมดที่สตริงขึ้นต้นด้วย 1 เนื่องจากคำตอบอาจใหญ่จึงพิมพ์ผลลัพธ์แบบ modulo 1,000,000,007 Input : str = 10101001001 Output : 210 Input : str = 101110011 Output : 56 เราจะแก้ปัญหานี้โดยใช้คณิตศาสตร์การจัดห

  11. C++ การค้นหา XOR ของตัวหารคี่มากสุดในช่วงที่กำหนด

    ได้รับอาร์เรย์ของจำนวนเต็ม N ตัวและ Q คำถามเกี่ยวกับช่วงข้อมูล สำหรับแต่ละคำถาม เราต้องคืนค่า XOR ของตัวหารคี่มากสุดของแต่ละจำนวนในช่วงนั้น ตัวหารคี่มากสุด คือจำนวนคี่ที่มากที่สุดซึ่งหารจำนวน N ลงตัว เช่น ตัวหารคี่มากสุดของ 6 คือ 3 Input: nums[ ] = { 3, 6, 7, 10 }, query[ ] = { { 0, 2 }, { 1, 3 } }

  12. C++ คิวรีบน XOR ของ XORs ของทุก Subarray

    เพื่อคำนวณ XOR ของทุก subarray ที่มีอยู่ในช่วงที่กำหนดและพิมพ์มัน ตัวอย่างเช่น: Input : arr[] = { 4, 1, 2, 3, 5 }, Q = 3 Queries q1 = { 1, 2 } q2 = { 2, 4 } q3 = { 1, 4 } Output : 0 2 0 คำอธิบาย : ตามที่ปัญหากำหนดว่าเราต้องหา XOR ของทุก subarray ในช่วงที่กำหนด ดังนั้นสำหรับ query 2 subarrays คือ: {1

  13. C++ คิวรีตอบจำนวน 1 และ 0 ด้านซ้ายของดัชนีที่กำหนด

    อภิปรายปัญหาตอบคิวรีให้กับอาร์เรย์ที่กำหนด สำหรับดัชนีคิวรีแต่ละอัน เราต้องหาจำนวน 1 และ 0 ด้านซ้ายของดัชนี ตัวอย่างเช่น: Input: arr[] = { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0 }, queries[] = { 2, 4, 1, 0, 5 } Output: query 1: zeros = 1, ones = 1 query 2: zeros = 1, ones = 3 query 3: zeros =

  14. C++ Range Sum Queries และ Update ด้วย Square Root

    กำหนดอาร์เรย์และคิวรีหลายคิวรี นอกจากนี้ยังมีสองประเภทของคิวรี คือ update[L, R] หมายถึงอัปเดตองค์ประกอบจาก L ถึง R ด้วย square root ของพวกมัน และ query[L, R] หมายถึงคำนวณผลรวมขององค์ประกอบจาก L ถึง R เราสมมติอาร์เรย์ที่ใช้ 1-based indexing ตัวอย่างเช่น: Input: nums[] = { 0, 9, 4, 1, 5, 2, 3 } Query[

  15. C++ Range Sum Query ใช้ Sparse Table

    Sparse Table เป็นโครงสร้างข้อมูล (Data Structure) ซึ่งใช้เพื่อให้ผลลัพธ์ของ range queries มันให้ผลลัพธ์ของ range queries ส่วนใหญ่ในความซับซ้อน O(log N) สำหรับ maximum range queries มันยังคำนวณผลลัพธ์ได้ใน O(1) บทช่วยสอนนี้จะอภิปรายปัญหา range sum query โดยใช้ sparse table โดยที่เราได้รับอาร์เรย์ เร

  16. C++ Rat in a Maze หลายขั้นตอนหรือกระโดดได้

    กำหนดกริด maze ขนาด n×n หนูของเราอยู่ที่มุมซ้ายบนของกริด ตอนนี้หนูสามารถเคลื่อนที่ลงหรือขวาได้ก็ต่อเมื่อบล็อกนั้นมีค่าไม่เป็นศูนย์ ตอนนี้ใน variation นี้ หนูได้รับอนุญาตให้กระโดดหลายขั้นตอน จำนวนขั้นตอนสูงสุดที่หนูสามารถกระโดดจากเซลล์ปัจจุบันคือตัวเลขที่อยู่ในเซลล์ และตอนนี้คุณถูกมอบหมายให้หาว่าหนูส

  17. C++ อัตราส่วนของพจน์ที่ M และ N ของอนุกรมเลขคณิต (A.P.) จากอัตราส่วนของผลรวมที่กำหนด

    อภิปรายปัญหาที่เราได้รับอัตราส่วนของผลรวมของพจน์ m และ n ของ A.P. เราต้องหาอัตราส่วนของพจน์ที่ m และ n Input: m = 8, n = 4 Output: 2.142 Input: m = 3, n = 2 Output: 1.666 Input: m = 7, n = 3 Output: 2.6 วิธีการหาคำตอบ เพื่อหาอัตราส่วนของพจน์ที่ m และ n โดยใช้โค้ด เราต้องลดรูปสูตร ให้ Sm เป็นผลรวมขอ

  18. C++ จัดเรียงสตริงตามลำดับตัวอักษร ตามด้วยผลรวมของจำนวนเต็ม

    อภิปรายปัญหาการจัดเรียงสตริงของตัวอักษรในลำดับที่จัดเรียงแล้ว และบวกจำนวนเต็มทั้งหมดที่มีอยู่ในสตริง ตัวอย่างเช่น: Input : str = adv4fc3 Output : acdfv7 คำอธิบาย: ตัวอักษรทั้งหมดถูกจัดเรียงเป็น acdfv ตามด้วยผลรวมของจำนวนเต็ม 4 และ 3 Input: str = h2d7e3f Output : defh12 คำอธิบาย: ตัวอักษรทั้งหมดถูกจ

  19. C++ ลบ Entry จาก HashMap โดยใช้ Key ขณะ Iterate

    บทช่วยสอนนี้จะอภิปรายวิธีการลบ entry จาก HashMap โดยใช้ key ขณะกำลัง traverse ผ่านมัน ตัวอย่างเช่น: Input: HashMap: { 1: Tutorials, 2: Tutorials, 3: Point }, key=1 Output: HashMap: { 2: Tutorials, 3: Point } คำอธิบาย: องค์ประกอบแรกถูกลบโดยใช้ key 1 Input: HashMap: { 1: God, 2: is, 3: Great }, key=2

  20. C++ ลบ Entry จาก HashMap โดยใช้ Value ขณะ Iterate

    อภิปรายวิธีการลบ entry จาก HashMap โดยใช้ value ขณะกำลัง iterate ผ่านมัน ตัวอย่างเช่น: Input: HashMap: { 1: Mango, 2: Orange, 3: Banana, 4: Apple }, value=Banana Output: HashMap: { 1: Mango, 2: Orange, 4: Apple } คำอธิบาย: คู่ key-value ที่สามถูกลบโดยใช้ value banana Input: HashMap: { 1: Yellow, 2:

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:279/301  20-คอมพิวเตอร์/Page Goto:1 273 274 275 276 277 278 279 280 281 282 283 284 285