Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. จำนวน 0 สูงสุดระหว่าง 1 ติดกันใน Binary Representation ใน C++

    โจทย์ ได้รับจำนวน n งานคือหาจำนวน 0 สูงสุดระหว่าง 1 ติดกันใน Binary Representation ของ n คืน -1 ถ้า Binary Representation มี 1 น้อยกว่า 2 ตัว ตัวอย่าง ถ้าตัวเลขอินพุตคือ 35 Binary Representation คือ 00100011 ใน Binary Representation ข้างต้น มี 3 ตัว 0 ระหว่าง 1 ติดกัน ดังนั้นคำตอบคือ 3 อัลกอริทึม ใ

  2. ค่าสูงสุดและต่ำสุดใน Square Matrix ใน C++

    โจทย์ ได้รับ Square Matrix ขนาด n×n หาค่าสูงสุดและต่ำสุดจากเมทริกซ์ ตัวอย่าง ถ้าเมทริกซ์ที่ให้มาคือ {{15, 17, 19}, {5, 1, 7}, {14, 5, 16}} ค่าต่ำสุดคือ 1 และค่าสูงสุดคือ 19 อัลกอริทึม เลือกสององค์ประกอบจากเมทริกซ์ หนึ่งจากต้นแถว อีกหนึ่งจากท้ายแถวเดียวกัน เปรียบเทียบพวกเขา และต่อมาเปรียบเทียบค่าที

  3. ค่า Bitwise AND สูงสุดของคู่ในอาร์เรย์ใน C++

    โจทย์ ได้รับอาร์เรย์ n องค์ประกอบบวก ต้องการหาค่า Bitwise AND สูงสุดที่เกิดจากคู่ใดคู่หนึ่งของอาร์เรย์ ตัวอย่าง ถ้าอินพุตอาร์เรย์คือ {10, 12, 15, 18} ค่า Bitwise AND สูงสุดคือ 12 อัลกอริทึม ผลลัพธ์ของ Bitwise AND บนบิตเดียวจะสูงสุดเมื่อทั้งสองบิตเป็น 1 พิจารณาคุณสมบัตินี้ เริ่มจาก MSB ตรวจสอบว่ามี

  4. พื้นที่สูงสุดของ Quadrilateral ใน C++

    โจทย์ ได้รับด้านสี่ด้านของ Quadrilateral คือ a, b, c, d หาพื้นที่สูงสุดของ Quadrilateral ที่เป็นไปได้จากด้านที่กำหนด อัลกอริทึม ใช้สูตร Brahmagupta เพื่อแก้ปัญหานี้ √((s-a)(s-b)(s-c)(s-d)) ในสูตรข้างต้น s คือ Semi-perimeter คำนวณได้จาก S = (a + b + c + d) / 2 ตัวอย่างโค้ด #include <bits/stdc++.h

  5. สร้าง Maximum Array จากสองอาร์เรย์ โดยรักษาลำดับเดิมใน C++

    โจทย์ ได้รับอาร์เรย์สองอันขนาดเท่ากัน A[] และ B[] งานคือสร้างอาร์เรย์ที่สามขนาดเดียวกัน อาร์เรย์ผลลัพธ์ควรมี N องค์ประกอบสูงสุดจากทั้งสองอาร์เรย์ ควรมีองค์ประกอบที่เลือกจาก A[] ก่อน ตามด้วย B[] ในลำดับเดียวกับอาร์เรย์ต้นฉบับ ถ้ามีองค์ประกอบซ้ำ ให้มีเพียงหนึ่งตัวในผลลัพธ์ และให้ความสำคัญกับ A[] ตัวอ

  6. ค่าเฉลี่ยสูงสุดของ Subarray ขนาดอย่างน้อย X และสูงสุด Y ใน C++

    โจทย์ ได้รับอาร์เรย์ arr[] และจำนวนเต็มสองจำนวน X และ Y งานคือหา Subarray ที่มีขนาดอย่างน้อย X และสูงสุด Y ซึ่งมีค่าเฉลี่ยสูงสุด ตัวอย่าง ถ้าอินพุตอาร์เรย์คือ {2, 10, 15, 7, 8, 4} และ x = 2 และ y = 3 แล้วค่าเฉลี่ยสูงสุดคือ 12.5 ได้จาก (10 + 15) / 2 = 12.5 อัลกอริทึม วนลูปทุก Subarray ที่มีขนาดเริ่

  7. ค่าเฉลี่ยสูงสุดของการแบ่ง Partition อาร์เรย์ใน C++

    โจทย์ ได้รับอาร์เรย์ เราแบ่งแถวของตัวเลข A เป็นกลุ่มติดกันสูงสุด K กลุ่ม (ไม่ว่าง) แล้วคะแนนคือผลรวมของค่าเฉลี่ยของแต่ละกลุ่ม คะแนนสูงสุดที่ทำได้คือเท่าไหร่? ตัวอย่าง ถ้าอินพุตอาร์เรย์คือ {9, 2, 5, 3, 10} สามารถแบ่งได้ดังนี้ {9} {2, 5, 3} และ {10} แล้วผลรวมค่าเฉลี่ยคือ 9 + (2 + 5 + 3) / 3 + 10 = 22

  8. ค่า Bitwise AND สูงสุดของคู่ในช่วงที่กำหนดใน C++

    โจทย์ ได้รับช่วง [L, R] งานคือหาคู่ (X, Y) ที่ทำให้ L ≤ X < Y ≤ R และ X & Y มีค่าสูงสุด среди ทุกคู่ที่เป็นไปได้ แล้วพิมพ์ค่า Bitwise AND ของคู่นั้น ตัวอย่าง ถ้า L = 1 และ R = 10 ค่า Bitwise AND สูงสุดคือ 8 ซึ่งได้จาก 1000 # Binary representation of 8 Bitwise AND 1001 # Binary representation of

  9. ค่า Determinant สูงสุดของเมทริกซ์ 3x3 ที่ค่าเป็น 0 หรือ n ใน C++

    โจทย์ ได้รับจำนวนบวก n ต้องการหาเมทริกซ์ 3x3 ที่ประกอบด้วยการรวมกันของ 0 หรือ n และมี Determinant สูงสุด ตัวอย่าง ถ้า n = 15 สามารถสร้างเมทริกซ์ได้ดังนี้ {{15, 15, 0}, {0, 15, 15}, {15, 0, 0}} สำหรับเมทริกซ์ 3x3 ใดๆ ที่มีองค์ประกอบเป็น 0 หรือ n ค่า Determinant สูงสุดที่เป็นไปได้คือ 2 × n³ ดังนั้นคำ

  10. การลบ Edge สูงสุดจาก Tree เพื่อทำ Even Forest ใน C++

    โจทย์ ได้รับ Undirected Tree ที่มีจำนวนโหนดเป็นเลขคู่ ต้องการลบ Edge จำนวนมากที่สุดจาก Tree นี้ เพื่อให้แต่ละ Connected Component ของ Forest ที่ได้ มีจำนวนโหนดเป็นเลขคู่ ตัวอย่าง ในต้นไม้ด้านบน สามารถลบ Edge ได้สูงสุด 2 Edge คือ 0-2 และ 0-4 (สีแดง) ทำให้แต่ละ Component มีโหนดเป็นเลขคู่ อัลกอริทึม

  11. หาค่าสูงสุดระหว่างสองโหนดของ BST ใน C++

    โจทย์ ได้รับอาร์เรย์ N องค์ประกอบ และจำนวนเต็มสองจำนวน A, B ซึ่งอยู่ในอาร์เรย์ที่ให้มา สร้าง Binary Search Tree โดยแทรกองค์ประกอบจาก arr[0] ถึง arr[n-1] งานคือหาองค์ประกอบสูงสุดในเส้นทางจาก A ไป B ตัวอย่าง ถ้าอาร์เรย์คือ {24, 23, 15, 36, 19, 41, 25, 35} เราสามารถสร้าง BST ได้ดังภาพ ถ้าพิจารณา A =

  12. โปรแกรมพิมพ์รูปหลังคาบ้าน (Hut Pattern) ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมพิมพ์รูปแบบหลังคาบ้าน (Hut Pattern) เราจะได้รับความกว้างของหลังคาบ้านที่จะพิมพ์ (เช่น N) งานคือพิมพ์โครงสร้างหลังคาบ้านด้วยความกว้างที่กำหนด ใช้ดาว (*) และประตูภายในบ้านด้วยอักขระเส้น (|, _) ตัวอย่างโค้ด #include <iostream> using namespace std; // พิมพ์โครงสร

  13. โปรแกรมพิมพ์ Interesting Pattern ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมพิมพ์รูปแบบที่น่าสนใจ (Interesting Pattern) เราจะได้รับครึ่งหนึ่งของความกว้างของรูปแบบ งานคือพิมพ์รูปแบบที่คล้ายกันตามความกว้างที่กำหนด โดยส่วนซ้ายและขวาเป็นภาพกระจกของกัน ตัวอย่างโค้ด #include <stdio.h> // พิมพ์รูปแบบที่กำหนด void print_pattern(int n) {

  14. โปรแกรมพิมพ์รูป Inverse Diamond Pattern ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมพิมพ์รูป Inverse Diamond Pattern (รูปเพชรผกผัน) เราจะได้รับค่า N งานคือพิมพ์รูปเพชรผกผันตามความสูง 2N-1 ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std; // พิมพ์รูป Inverse Diamond Pattern void printDiamond(int n) { cout << endl; int i

  15. โปรแกรมพิมพ์รูปแบบ Kite Pattern ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมพิมพ์รูปแบบ Kite (รูปพัดลม) เราจะรับค่า N=5 เป็นอินพุต งานคือพิมพ์โครงสร้าง Kite ที่มีความสูงรวม 2N+1 = 11 บรรทัด ประกอบด้วย 9 บรรทัดสำหรับรูปเพชรบน และ 2 บรรทัดสำหรับรูปเพชรล่างที่ไม่สมบูรณ์ ตัวอย่างโค้ด #include <bits/stdc++.h> #include <stdlib.h> usin

  16. โปรแกรมพิมพ์ 10 บรรทัดสุดท้ายใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมพิมพ์ 10 บรรทัดสุดท้ายจากสตริงที่กำหนด เราจะได้รับสตริงที่ประกอบด้วยอักขระขึ้นบรรทัดใหม่ (newline) เพื่อระบุจุดเริ่มต้นของบรรทัดถัดไป งานคือเริ่มจากท้ายและพิมพ์ทั้ง 10 บรรทัดนับจากท้าย ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std; #define DELIM \

  17. โปรแกรมพิมพ์ N บรรทัดสุดท้ายใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมพิมพ์ N บรรทัดสุดท้ายจากสตริงที่กำหนด เราจะได้รับสตริงที่ประกอบด้วยอักขระขึ้นบรรทัดใหม่ (newline) เพื่อระบุจุดเริ่มต้นของบรรทัดถัดไป และจำนวนบรรทัดที่ต้องการพิมพ์จากท้าย งานคือเริ่มจากท้ายและพิมพ์ทั้ง N บรรทัดนับจากท้าย ตัวอย่างโค้ด #include <bits/stdc++.h> us

  18. แปลง Binary Tree เป็น Mirror Tree ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลง Binary Tree ให้กลายเป็น Mirror Tree (ต้นไม้กระจก) เราจะได้รับ Binary Tree มา 1 ต้น งานคือสลับค่าทางซ้ายและขวา เพื่อสร้าง Mirror Tree จาก Binary Tree ที่ให้มา ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std; // โครงสร้างโหนด Binary Tree struct N

  19. แปลง Binary Tree ให้แต่ละโหนดเก็บผลรวมของ Right Subtree ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลง Binary Tree ให้แต่ละโหนดเก็บผลรวมของโหนดทั้งหมดใน Right Subtree ของมัน เราจะได้รับ Binary Tree มา 1 ต้น งานคือคืนต้นไม้อีกต้นหนึ่งที่ทุกโหนดมีค่าเท่ากับผลรวมของโหนดนั้นเองและ Right Subtree ของมัน ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std;

  20. แปลง Binary Tree เป็น Circular Doubly Linked List ใน C++

    ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลง Binary Tree ให้กลายเป็น Circular Doubly Linked List เราจะได้รับ Binary Tree มา 1 ต้น งานคือแปลงโหนด left และ right ให้กลายเป็น previous และ next ตามลำดับ และใช้ลำดับ Inorder ของ Binary Tree เป็นลำดับของ Circular Linked List ตัวอย่างโค้ด #include <iostream>

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:113/301  20-คอมพิวเตอร์/Page Goto:1 107 108 109 110 111 112 113 114 115 116 117 118 119