Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. ผลคูณความยาวของทุกไซเคิลในกราฟแบบไม่มีทิศทางใน C++

    โจทย์ เราได้รับกราฟแบบไม่มีทิศทางและไม่มีน้ำหนักเป็นอินพุต งานคือหาผลคูณของไซเคิลที่เกิดขึ้นในกราฟที่กำหนดและแสดงผลลัพธ์ ตัวอย่าง อินพุต ในรูปที่กำหนด มีโหนด 8 โหนด และมี 5 โหนดที่สร้างไซเคิล รวมถึง 1, 6, 3, 5, 8 และโหนดที่เหลือไม่ได้รวมอยู่ในไซเคิล ดังนั้นความยาวของไซเคิลคือ 5 เพราะมี 5 โหนด ดังนั

  2. ผลคูณของทุก subsequence ขนาด K ยกเว้นค่าต่ำสุดและสูงสุดใน C++

    โจทย์ กำหนดอาเรย์ arr[n] ที่มีจำนวนเต็ม n ตัว และจำนวนเต็ม k สำหรับกำหนดขนาด งานคือพิมพ์ผลคูณของทุก subsequence ขนาด k ยกเว้นองค์ประกอบที่มีค่าต่ำสุดและสูงสุด สมมติเรามีชุด 4 องค์ประกอบ {1, 2, 3, 4} และ k เป็น 2 ดังนั้น subset จะเป็น - {1, 2}, {2, 3}, {3, 4}, {1, 4}, {1, 3}, {2, 4} ดังนั้น ยกเว้นค่า

  3. Priority Queue ใน C++ Standard Template Library (STL)

    Priority Queue คืออะไร? Priority queue เป็นชนิดข้อมูลนามธรรมสำหรับเก็บชุดขององค์ประกอบที่มีลำดับความสำคัญ รองรับการแทรกและลบองค์ประกอบตามลำดับความสำคัญ นั่นคือ องค์ประกอบที่มีลำดับความสำคัญสูงสุดสามารถลบได้ทุกเมื่อ Priority queue ไม่ได้เก็บองค์ประกอบในรูปแบบเชิงเส้นตามตำแหน่งเหมือน Stacks, Queues, L

  4. ความน่าจะเป็นของการได้หัวอย่างน้อย K ครั้งในการทอยเหรียญ N ครั้งใน C++

    โจทย์ ความน่าจะเป็นคือโอกาสในการได้ผลลัพธ์ที่ต้องการจากชุดข้อมูลที่มีอยู่ ช่วงของความน่าจะเป็นอยู่ระหว่าง 0 ถึง 1 โดยจำนวนเต็ม 0 แสดงความเป็นไปไม่ได้ และ 1 แสดงความแน่นอน ความน่าจะเป็นคืออะไร? ความน่าจะเป็นในคณิตศาสตร์ให้เครื่องมือที่บอกความไม่แน่นอนของเหตุการณ์และเหตุผล กล่าวอีกนัยหนึ่ง ความน่าจะเป

  5. โปรแกรมสร้าง DFA ที่เริ่มและจบด้วย 'a' จากอินพุต (a, b) ใน C++

    โจทย์ กำหนดสตริง DFA ของตัวอักษร a และ b ซึ่งควรเริ่มและจบด้วยตัวอักษร a งานคือตรวจสอบว่าสตริงเริ่มและจบด้วย a ผ่าน DFA DFA (Deterministic Finite Automata) คืออะไร? ในทฤษฎีการคำนวณ สาขาหนึ่งของวิทยาการคอมพิวเตอร์เชิงทฤษฎี DFA เป็นเครื่องจักรสถานะจำกัดที่ยอมรับหรือปฏิเสธสตริงของสัญลักษณ์ Deterministi

  6. โปรแกรมหาจุดตัดของสองเส้นใน C++

    โจทย์ กำหนดจุด A และ B ตรงกับเส้น AB และจุด P และ Q ตรงกับเส้น PQ งานคือการหาจุดตัดระหว่างสองเส้นนี้ หมายเหตุ - จุดต่างๆ กำหนดในระนาบ 2 มิติบนพิกัด X และ Y ที่นี่ A(a1, a2), B(b1, b2) และ C(c1, c2), D(d1, d2) คือพิกัดที่สร้างเส้นสองเส้นที่แตกต่างกัน และ P(p1, p2) คือจุดตัด (เพื่อการอธิบายภาพเท่านั้

  7. ผลคูณของทุก K-th Prime Number ในอาร์เรย์ใน C++

    ได้รับอาร์เรย์ arr[n] ที่มี n Prime Numbers และ k งานคือหาผลคูณของทุก k-th Prime Number ในอาร์เรย์ เช่น arr[] = {3, 5, 7, 11} และ k = 2 ดังนั้น Prime Number ทุก k คือ 5 และ 11 หาผลคูณได้ 5×11 = 55 Prime Numbers คืออะไร? Prime Number คือจำนวนธรรมชาติที่หารด้วยตัวอื่นไม่ลง ยกเว้น 1 และตัวมันเอง เช่น

  8. พิมพ์ Items ใน 0/1 Knapsack ใน C++

    ได้รับ Weights และ Values ของ n Items งานคือพิมพ์ Items ตาม 0/1 Knapsack สำหรับ Weights และ Values ที่กำหนด ใน Knapsack ความจุ W เพื่อให้ได้ Maximum Total Value 0/1 Knapsack คืออะไร? Knapsack คือกระเป๋าที่มีขนาดคงที่ หรือรับน้ำหนักได้จำกัด แต่ละ Item ที่ใส่ใน Knapsack มี Value (Profit) และ Weight เ

  9. โปรแกรม K Most Recently Used (MRU) Apps ใน C++

    ได้รับตัวเลข k และอาร์เรย์ arr[n] ที่มี n จำนวนเต็ม เก็บ ID ของ Apps ที่เปิดอยู่ในระบบ งานคือแสดง k แอปที่ใช้ล่าสุด (Most Recently Used) เหมือนกด Alt+Tab แสดงแอปเปิดอยู่ แอปล่าสุดอยู่ก่อน แอปเก่าสุดอยู่ท้าย ตำแหน่งของแต่ละ ID แทนแอปต่างๆ: ID ใน arr[0] คือ App ที่ใช้งานอยู่ ID ใน arr[1] คือ App ที่

  10. โปรแกรมหา Power ของ Complex Number ใน O(log n) ใน C++

    ได้รับ Complex Number ในรูป x+yi และจำนวนเต็ม n งานคือคำนวณและพิมพ์ค่าของ Complex Number เมื่อยกกำลัง n Complex Number คืออะไร? Complex Number คือจำนวนที่เขียนในรูป a + bi โดย a และ b เป็นจำนวนจริง และ i เป็นคำตอบของสมการ (จำนวนจินตภาพ) กล่าวง่ายๆ Complex Number คือการรวมของจำนวนจริงและจำนวนจินตภาพ

  11. Priority Queue ของ Pair ใน C++ (เรียงตาม First)

    Priority Queue เป็น Abstract Data Type สำหรับเก็บชุดของ Prioritized Elements รองรับการ Insert และ Delete ตาม Priority นั่นคือ Element ที่มี Priority สูงสุดสามารถลบได้ทุกเมื่อ Priority Queue ไม่เก็บ Elements แบบ Linear ตามตำแหน่งเหมือน Stack, Queue, List ฯลฯ แต่เก็บตาม Priority Priority Queue รองรับ

  12. Maximal Disjoint Intervals ใน C++

    คำอธิบาย ได้รับชุดของ N Intervals งานคือหาชุด Maximal ของ Mutually Disjoint Intervals สอง Intervals [i, j] และ [k, l] ถือว่า Disjoint ถ้าไม่มีจุดร่วมกัน ถ้า Intervals คือ {{10, 20}, {23, 35}, {15, 21}, {37, 41}} Maximum Non-overlapping Disjoint Pairs คือ {10, 20} {23, 35} {37, 41} สังเกตว่าไม่สามาร

  13. เพิ่มค่า Unsigned Number โดย Swap บิตตำแหน่งปลายใน C++

    โจทย์ ได้รับตัวเลข เพิ่มค่าโดยการ Swap บิตที่ตำแหน่งปลาย คือ ตำแหน่งแรกและสุดท้าย ตำแหน่งที่สองและสองจากท้าย และต่อไป ถ้าตัวเลขอินพุตคือ 8 Binary Representation คือ 00000000 00000000 00000000 00001000 หลัง Swap บิตตำแหน่งปลาย ตัวเลขกลายเป็น 00010000 00000000 00000000 00000000 และค่า Decimal คือ: 26

  14. เพิ่มค่าอาร์เรย์ขึ้นถึงค่าที่กำหนดใน C++

    โจทย์ ได้รับอาร์เรย์จำนวนเต็ม ตัวเลขหนึ่งตัว และค่าสูงสุด งานคือคำนวณค่าสูงสุดที่ได้จากอาร์เรย์ ทุกค่าในอาร์เรย์จากต้นทางสามารถบวกหรือลบจากผลลัพธ์ก่อนหน้าได้ โดยที่ในทุกจุด ผลลัพธ์ต้องไม่ต่ำกว่า 0 และไม่เกินค่าสูงสุดที่กำหนด สำหรับ Index 0 ให้ผลลัพธ์ก่อนหน้าเท่ากับตัวเลขที่กำหนด ถ้าไม่มีคำตอบ พิมพ์

  15. เพิ่มผลรวมอาร์เรย์หลัง K ครั้ง Negation ใน C++

    โจทย์ ได้รับอาร์เรย์ขนาด n และตัวเลข k ต้องปรับเปลี่ยนอาร์เรย์ k ครั้ง ปรับเปลี่ยนหมายถึงในแต่ละครั้ง เราสามารถแทนที่องค์ประกอบ arr[i] ด้วยการ Negate คือ arr[i] = -arr[i] งานคือทำการดำเนินการนี้เพื่อให้หลัง k ครั้ง ผลรวมของอาร์เรย์ต้องสูงสุด ถ้าอินพุต arr[] = {7, -3, 5, 4, -1} ผลรวมสูงสุดคือ 20 Ne

  16. เพิ่มค่าองค์ประกอบอาร์เรย์โดยใช้อาร์เรย์อีกอันใน C++

    โจทย์ ได้รับอาร์เรย์สองอันขนาด n เพิ่มค่าอาร์เรย์แรกโดยใช้องค์ประกอบจากอาร์เรย์ที่สอง อาร์เรย์ใหม่ต้องมี N องค์ประกอบที่มากที่สุดและไม่ซ้ำจากทั้งสองอาร์เรย์ ให้ความสำคัญกับอาร์เรย์ที่สอง คือ องค์ประกอบของอาร์เรย์ที่สองต้องมาก่อนอาร์เรย์แรก ลำดับการปรากฏต้องเหมือนเดิม ถ้า arr1[] = {12, 15, 10} และ a

  17. เพิ่มจำนวน 0 โดยการ Flip Subarray ใน C++

    โจทย์ ได้รับ Binary Array หาจำนวน 0 สูงสุดในอาร์เรย์ด้วยการ Flip Subarray ได้ 1 ครั้ง Flip หมายถึงสลับ 0 เป็น 1 และ 1 เป็น 0 ถ้า arr1 = {1, 1, 0, 0, 0, 0, 0} ถ้าเรา Flip 1 ตัวแรก 2 ตัวเป็น 0 จะได้ Subarray ขนาด 7 ดังนี้ {0, 0, 0, 0, 0, 0, 0} อัลกอริทึม 1. พิจารณา Subarray ทุกอัน หา Subarray ที่มีค่

  18. เพิ่ม Bitwise OR ของอาร์เรย์ใน C++

    โจทย์ ได้รับอาร์เรย์ N จำนวนเต็ม ต้องเพิ่ม Bitwise OR ของทุกองค์ประกอบให้มากที่สุด โดยทำหนึ่งงาน: คูณองค์ประกอบใดองค์ประกอบหนึ่งได้สูงสุด k ครั้งด้วยจำนวนเต็ม x ที่กำหนด ถ้าอินพุตอาร์เรย์คือ {4, 3, 6, 1}, k = 2, x = 3 ค่าสูงสุดที่ได้คือ 55 อัลกอริทึม 1. คูณอาร์เรย์ element ด้วย (x^k) และ Bitwise OR

  19. เพิ่ม Maximum Subarray Sum หลังลบได้สูงสุด 1 องค์ประกอบใน C++

    โจทย์ ได้รับอาร์เรย์ arr[] ขนาด N จำนวนเต็ม งานคือหา Maximum Subarray Sum ก่อน แล้วลบได้สูงสุด 1 องค์ประกอบจาก Subarray นั้น ลบได้สูงสุด 1 ตัว เพื่อให้ผลรวมสูงสุดหลังลบมีค่ามากที่สุด ถ้าอินพุตอาร์เรย์คือ {1, 2, 3, -2, 3} Maximum Subarray Sum คือ {2, 3, -2, 3} แล้วเราลบ -2 อาร์เรย์ที่เหลือกลายเป็น {

  20. เพิ่ม Median ของอาร์เรย์ใน C++

    โจทย์ ได้รับอาร์เรย์ arr[] ขนาด N และจำนวนเต็ม K โดย K < N งานคือแทรก K จำนวนเต็มเข้าไปในอาร์เรย์เดิม เพื่อให้ Median ของอาร์เรย์ผลลัพธ์มีค่าสูงสุด ถ้าอินพุตอาร์เรย์คือ {1, 3, 2, 5} และ k = 3 อาร์เรย์เรียงแล้ว: {1, 2, 3, 5} แทรก 3 ตัวที่มากกว่า 5 อาร์เรย์กลายเป็น {1, 2, 3, 5, 6, 6, 6} Median ของอา

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