Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. หาค่าสูงสุดในอาเรย์ที่นำไปแทนที่เพื่อทำให้อีกอาเรย์หนึ่งเรียงลำดับได้ใน C++

    เราได้รับอาเรย์ Arr1[] และ Arr2[] ความยาวเท่าหรือต่างกัน Arr1[] เรียงจากน้อยไปมาก แต่มี 1 ตัววางผิดที่ ต้องหาตัวเลขจาก Arr2[] ที่สามารถแทนที่ตัวผิดที่ใน Arr1[] ทำให้ Arr1[] เรียงลำดับได้ และตัวที่เลือกจาก Arr2[] ต้องเป็นค่าสูงสุดถ้ามีหลายตัวเลือก อินพุต Arr1[] = {1, 3, 5, 7, 2, 11}, Arr2[] = {4, 8,

  2. ปริมาณน้ำสูงสุดที่ซื้อได้ด้วย N บาทใน C++

    เราได้รับ N บาท เป้าหมายคือซื้อน้ำมากที่สุด โดยราคาขวดน้ำมีดังนี้: ขวดพลาสติก: A บาท ต่อ 1 ลิตร ขวดแก้ว: B บาท ต่อ 1 ลิตร คืนขวดแก้วได้ E บาท (ดังนั้นต้นทุนจริงขวดแก้ว = B - E บาท) ถ้าราคาพลาสติก (A) ยังถูกกว่า B-E ให้ซื้อแค่ขวดพลาสติก มิฉะนั้น ซื้อขวดแก้ว (N-E)/(B-E) ขวด และเงินคงเหลือซื้อขวดพลา

  3. ความยาวสูงสุดของสตริงสมดุลหลังสลับและลบตัวอักษรใน C++

    เราได้รับสตริงที่ประกอบด้วยตัวอักษร (,),{,},[,] เท่านั้น เป้าหมายคือหาความยาวสูงสุดของสตริงที่ทำให้สมดุล (balanced) ได้โดยการสลับตัวอักษรติดกัน หรือลบตัวอักษรออก เราทำได้โดยเปรียบเทียบตัวอักษรติดกัน หากเป็นคู่ตรงข้าม สามารถสลับได้ ( }{, )(, ][ สลับได้ แต่ {{, )), [[, }}, )), ]] สลับไม่ได้) นอกจากนี

  4. Content Management Systems (CMS) ภาพรวม

    ถ้าเราตีความคำว่า Content Management System ตรงตัว หมายถึงระบบจัดการเนื้อหา ถูกนิยามว่าเป็นแพลตฟอร์มร่วมมือที่มีฟีเจอร์และฟังก์ชันการทำงานต่างๆ ช่วยให้สร้าง, ออกแบบ, เผยแพร่ และบำรุงรักษาเนื้อหาบนเว็บได้ง่ายและมีประสิทธิภาพ Content Management System (CMS) คืออะไร? CMS คือแอปพลิเคชันซอฟต์แวร์ที่ใช้ส

  5. นับ Derangements (การเรียงสับเปลี่ยนที่ไม่มีตัวไหนอยู่ตำแหน่งเดิม) ใน C++

    Derangement คือการเรียงสับเปลี่ยนของ N ตัวเลข ที่ไม่มีตัวไหนอยู่ตำแหน่งเดิม เช่น {1,2,3} มี derangement หนึ่งคือ {2,3,1} เป้าหมายคือนับ derangements ทั้งหมดสำหรับ N ตัวเลข เราใช้ recursive solution สำหรับจำนวนสมาชิก: N=0: ไม่มี derangement คืน 1 N=1: มีแค่ตัวเดียว คืน 0 N=2: สลับตำแหน่งได้ 1 แบบ {

  6. Continuous Tree ใน C++

    Continuous Tree นิยามว่าเป็นต้นไม้ที่ทุกเส้นทางจากราก (root) ไปยังใบ (leaf) มีค่าน้ำหนักของโหนดที่ทำให้ ความต่างสัมบูรณ์ระหว่างโหนดพาเรนต์กับลูกโดยตรงทุกตัวเท่ากับ 1 เสมอ หากเลือกโหนดใดบนเส้นทางจากรากถึงใบ: |weight(node) - weight(left child)| = 1 |weight(node) - weight(right child)| = 1 ตัวอย่า

  7. สร้าง Binary Tree จาก Inorder และ Preorder Traversal ใน C++

    เราได้รับ Inorder และ Preorder traversal ของ Binary Tree เป้าหมายคือสร้างต้นไม้กลับจาก traversal ทั้งสอง Inorder traversal − เยี่ยม left subtree ก่อน ตามด้วยโหนด แล้ว right subtree Preorder traversal − เยี่ยมโหนดก่อน ตามด้วย left subtree แล้ว right subtree Inorder และ Preorder ของต้นไม้ตัวอย่าง: I

  8. หาวงจร (cycle) ยาวที่สุดจากการเชื่อมโหนดสองตัวใน Binary Tree ใน C++

    เราได้รับ Binary Tree เป้าหมายคือหาวงจร (cycle) ยาวที่สุดในต้นไม้ โดยการหาความสูงสูงสุดของ subtree ซ้ายและขวาจาก root แล้วนำ path สูงสุดทั้งสองมาต่อกันเพื่อได้ longest cycle สำหรับต้นไม้ข้างต้น longest cycle คือ 1-2-3-4-7-6 หรือ 1-6-7-4-3-2-1 ความยาว 6 อินพุต − ต้นไม้ เอาต์พุต − Maximum length cy

  9. ภาชนะที่จุน้ำได้มากที่สุด (Container with Most Water) ใน C++

    เราได้รับอาเรย์ความสูงของกำแพงภาชนะ เป้าหมายคือหาภาชนะที่จุน้ำได้มากที่สุด (ปริมาตรสูงสุด) ความสูงของน้ำถูกจำกัดโดยกำแพงที่ต่ำกว่า หาก Arr[i] < Arr[j] ความสูงน้ำ = Arr[i] ความกว้าง = j - i ดังนั้นพื้นที่ = Arr[i] * (j - i) ต้องหาพื้นที่สูงสุด อินพุต Arr[] = {5, 1, 2, 3, 5} เอาต์พุต Maximum water ar

  10. หาจำนวนโหนดโดดเดี่ยว (isolated vertices) น้อยที่สุดและมากที่สุดในกราฟใน C++

    เราได้รับจำนวนเส้นขอบ (Noe) และจำนวนโหนด (Nov) เป้าหมายคือหาจำนวนโหนดโดดเดี่ยว (isolated vertices) น้อยที่สุดและมากที่สุดที่เป็นไปได้ในกราฟที่มีเส้นขอบและโหนดตามจำนวนนั้น โหนดโดดเดี่ยวคือโหนดที่ไม่มีเส้นขอบเชื่อมต่อ สำหรับโหนดโดดเดี่ยวน้อยที่สุด (Minimum isolated vertices) เราจะทำให้ทุกเส้นขอบโดด

  11. เพิ่มจำนวนของเล่นสูงสุดที่ซื้อได้ด้วยเงิน K ใน C++

    เราได้รับราคาของเล่นในรูปอาเรย์ และจำนวนเงิน K ที่มีอยู่ เป้าหมายคือซื้อของเล่นจำนวนมากที่สุดด้วยเงินนั้น แต่ละสมาชิกในอาเรย์คือราคาของเล่น 1 ชิ้น ดังนั้นจำนวนของเล่นเท่ากับจำนวนสมาชิก เราจะเรียงอาเรย์ราคาจากน้อยไปมาก เพื่อซื้อของเล่นราคาถูกก่อน ตามด้วยของเล่นราคาแพง อินพุต toyprices[] = {10, 20, 1

  12. นับคู่จำนวนเต็มบวกที่ไม่ซ้ำกัน (x, y) ที่ทำให้ x² + y² < n ใน C++

    เราได้รับจำนวนเต็มบวก N เป้าหมายคือนับคู่ของจำนวนเต็มบวกที่ไม่ซ้ำกัน (x, y) ที่ทำให้สมการ x² + y² < N เป็นจริง เราจะเริ่มจาก x=0 ถึง x² < N และ y=0 ถึง y² < N หาก x² + y² < N ให้นับคู่นั้น อินพุต n = 4 เอาต์พุต distinct pairs = 4 คำอธิบาย − คู่คือ (0,0), (1,1), (0,1), (1,0) ทุกคู่ทำให้ x² + y² < 4

  13. นับจุดที่แตกต่างกันบนเส้นจำนวนที่เยี่ยมชมใน C++

    เราได้รับลำดับไบนารีของ 0 และ 1 สมมติว่ามีคนนั่งอยู่ที่ตำแหน่ง current_pos เริ่มจาก current_pos หากลำดับเป็น 0 ให้เดินซ้าย 1 ก้าว (current_pos - 1) หากเป็น 1 ให้เดินขวา 1 ก้าว (current_pos + 1) เป้าหมายคือหาจุดที่แตกต่างกัน (distinct positions) ที่เขาเยี่ยมชมหลังจบลำดับไบนารี เราแก้ปัญหานี้โดยนับคว

  14. นับจำนวน subtree ใน BST ที่อยู่ในช่วงที่กำหนดใน C++

    =5 และ <=50 อินพุต − ต้นไม้ที่กำหนด − ช่วง [3-6] เอาต์พุต − Count of tree lying in range − 2 คำอธิบาย − สำหรับโหนด 4 และ 6 เท่านั้น Subtree ของพวกเขา (NULL) อยู่ระหว่าง 3-6 อินพุต − ต้นไม้ที่กำหนด: ช่วง [12-20] เอาต์พุต − Count of tree lying in range − 3 คำอธิบาย − สำหรับโหนด 16, 14 และ 20 Subtre

  15. การมีส่วนร่วมในโอเพนซอร์ส: เริ่มต้นอย่างไรใน C++

    โอเพนซอร์ส (Open Source) คืออะไร? โอเพนซอร์สหมายถึงซอฟต์แวร์โอเพนซอร์ส (OSS) ในโลกซอฟต์แวร์ คือซอฟต์แวร์ที่เผยแพร่ฟรีบนอินเทอร์넷 ให้ใช้, แก้ไข, ทดสอบ, พัฒนาต่อได้ตามต้องการ OSS สะดวกกว่าสำหรับผู้ใช้ทั่วโลก เพราะปรับเปลี่ยนได้ ผู้ใช้เลือกเพิ่ม/ลบแพตช์ตามความต้องการ สิ่งนี้เปลี่ยนโลกซอฟต์แวร์อย่างมาก

  16. การคำนวณแบบดั้งเดิมเทียบกับการคำนวณควอนตัมใน C++

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

  17. นับสตริงไบนารีที่มีบิต 1 ติดกัน K ครั้งใน C++

    เราได้รับจำนวนเต็ม N และ K มีสตริงไบนารีความยาว N ประกอบด้วย 0 และ 1 เท่านั้น เป้าหมายคือหาจำนวนสตริงที่มีความยาว N ที่มีบิต 1 ติดกัน K ครั้ง (เช่น N=3, K=2 นับสตริง 3 ตัวที่มี 1 ติดกัน 2 ครั้ง) ตัวอย่าง − 111 มี 1 ติดกัน 2 ครั้ง (K=2) ใน 011 และ 110 มี 1 ติดกัน 1 ครั้งเท่านั้น เราแก้ปัญหานี้ด้วยกา

  18. นับจำนวนครั้งที่นาฬิกาดิจิทัลแสดงตัวเลขเหมือนกันทั้งหมดใน C++

    สมมติว่ามีนาฬิกาดิจิทัลแบบ HH:MM แสดงเวลาเป็นชั่วโมงและนาทีเท่านั้น เราได้รับจำนวนชั่วโมงและนาทีเป็นอินพุต เป้าหมายคือนับจำนวนครั้งที่ตัวเลขทั้งหมดเหมือนกัน (H = M) เหตุการณ์นี้เกิดขึ้น 3 ครั้งต่อวัน: 00:00 ตอนเที่ยงคืน, 11:11 และ 22:22 เนื่องจากใช้รูปแบบ 24 ชั่วโมง อินพุต Input: 12 hours 22 minute

  19. หาจำนวนของเล่นขนาดใหญ่สูงสุดโดยแลกเปลี่ยนกับของเล่นขนาดเล็กใน C++

    เราได้รับของเล่นขนาดใหญ่ (big toys) และของเล่นขนาดเล็ก (small toys) จำนวนหนึ่ง พารามิเตอร์ a คือจำนวนของเล่นขนาดใหญ่ที่แลกได้จากของเล่นขนาดเล็ก และ b คือจำนวนของเล่นขนาดเล็กที่แลกได้จากของเล่นขนาดใหญ่ เป้าหมายคือหาจำนวนของเล่นขนาดใหญ่สูงสุดที่สามารถได้มาโดยการแลกเปลี่ยนของเล่นขนาดเล็ก อินพุต − big_

  20. นับจำนวนสมาชิกติดต่อกันในอาเรย์ที่มีจำนวนบิตเซตเท่ากันใน C++

    เราได้รับอาเรย์จำนวนเต็มที่ไม่ได้เรียงลำดับ และงานคือการคำนวณสองสิ่งหลัก: สมาชิกที่มีจำนวนบิตเซต (set bits) เท่ากัน สมาชิกที่มีบิตเซตเท่ากันต้องอยู่ติดต่อกัน (contiguous) อินพุต int arr[] = { 5, 8, 1, 2, 9, 12 } เอาต์พุต − Maximum number of contiguous array elements with same number of set bits a

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:201/301  20-คอมพิวเตอร์/Page Goto:1 195 196 197 198 199 200 201 202 203 204 205 206 207