Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. นับ Subarray ที่สมาชิกทุกตัวมากกว่า K ใน C++

    เราได้รับอาร์เรย์ arr[] และตัวเลข K เป้าหมายคือนับ subarray ที่สมาชิกทุกตัวมีค่ามากกว่า K ตัวอย่าง อินพุต: arr[] = {2, 2, 1, 1, 1, 5}, K = 1 เอาต์พุต: 4 คำอธิบาย: [2], [2], [5], [2,2] อินพุต: arr[] = {3, 4, 5, 6}, K = 2 เอาต์พุต: 10 คำอธิบาย: ทุก subarray เป็นไปได้ทั้งหมด 10 ตัว แนวทางการแก้ปัญหา

  2. นับ Subarray ที่มีจำนวน 0 และ 1 เท่ากันใน C++

    เราได้รับอาร์เรย์ arr[] ที่มีแต่ 0 และ 1 เป้าหมายคือนับ subarray ที่มีจำนวน 0 และ 1 เท่ากัน ตัวอย่าง อินพุต: arr[] = {0, 0, 1, 1, 1, 0} เอาต์พุต: 4 คำอธิบาย: [0,0,1,1], [0,1], [1,0], [0,0,1,1,1,0] อินพุต: arr[] = {0, 1, 1, 1, 1} เอาต์พุต: 1 คำอธิบาย: [0,1] เท่านั้น แนวทางการแก้ปัญหา (Naive O(n²))

  3. นับ Subarray ที่สมาชิกติดกันต่างกัน 1 ใน C++

    เราได้รับอาร์เรย์ arr[] เป้าหมายคือนับ subarray ที่สมาชิกติดกันทุกคู่อย่างต่างกัน 1 (เช่น 1,2,3 หรือ 4,3,2) ตัวอย่าง อินพุต: arr[] = {4, 3, 2, 1} เอาต์พุต: 6 คำอธิบาย: [4,3], [3,2], [2,1], [4,3,2], [3,2,1], [4,3,2,1] อินพุต: arr[] = {1, 5, 6, 7, 9, 11} เอาต์พุต: 3 คำอธิบาย: [5,6], [6,7], [5,6,7]

  4. นับ Subarray ที่มีจำนวน distinct elements เท่ากับอาร์เรย์ต้นฉบับใน C++

    เราได้รับอาร์เรย์ arr[] เป้าหมายคือนับ subarray ที่จำนวน distinct elements (ค่าที่ไม่ซ้ำ) เท่ากับอาร์เรย์ต้นฉบับ ตัวอย่าง อินพุต: arr[] = {1, 2, 1, 2, 3, 4, 2} เอาต์พุต: 6 คำอธิบาย: Distinct ในอาร์เรย์ต้นฉบับ = 4 (1,2,3,4) Subarrays ที่มี distinct 4 ตัว: [1,2,1,2,3,4], [2,1,2,3,4], [1,2,3,4], [1,2,

  5. นับ Subarray ที่มีแต่ 0 หรือแต่ 1 ใน Binary Array ใน C++

    เราได้รับอาร์เรย์ arr[] ที่มีแต่ 0 และ 1 เท่านั้น เป้าหมายคือนับ subarray ทั้งหมดที่มีแต่ 0 หรือแต่ 1 (ไม่รวมทั้งคู่) ตัวอย่าง อินพุต: arr[] = {0, 0, 1, 1, 1, 0} เอาต์พุต: Subarrays with only 0s: 4, Subarrays with only 1s: 6 คำอธิบาย: 0s: [0], [0], [0], [0,0] (index 0, 1, 5, 0-1) 1s: [1], [1], [1],

  6. นับ Sub-array ที่มีองค์ประกอบน้อยกว่าหรือเท่ากับ X ใน C++

    เราได้รับอาร์เรย์ arr[] และตัวแปร X เป้าหมายคือนับ subarray ทั้งหมดที่องค์ประกอบทุกตัวมีค่าน้อยกว่าหรือเท่ากับ X ตัวอย่าง อินพุต: arr[] = {4, 3, 2, 1, 6}, X = 3 เอาต์พุต: 6 คำอธิบาย: Subarrays: [3], [2], [1], [3,2], [2,1], [3,2,1] อินพุต: arr[] = {3, 6, 2, 7, 1, 8, 5}, X = 5 เอาต์พุต: 4 คำอธิบาย:

  7. นับพาลินโดรมพิเศษ (Special Palindromes) ในสตริงใน C++

    เราได้รับสตริง str เป้าหมายคือนับทุก substring ที่เป็น พาลินโดรมพิเศษ และมีความยาวมากกว่า 1 พาลินโดรมพิเศษคือสตริงที่: มีตัวอักษรเหมือนกันทุกตัว (เช่น aaa) หรือมีเพียงตัวกลางที่ต่างออกไป (เช่น aba, aabaa) ตัวอย่าง อินพุต: str = abccdcdf เอาต์พุต: 3 คำอธิบาย: Substring ที่เป็นพาลินโดรมพิเศษ: cc, c

  8. นับจำนวนแถวในเมทริกซ์ที่มีองค์ประกอบเหมือนกันทุกตัวใน C++

    เราได้รับเมทริกซ์ที่ประกอบด้วยจำนวนเต็ม เป้าหมายคือหาจำนวนแถวที่มีองค์ประกอบเหมือนกันทุกตัวในแถวนั้น ตัวอย่าง อินพุต: matrix = [ [1, 1, 1, 1], [2, 3, 2, 7], [3, 3, 3, 3] ] เอาต์พุต: 2 คำอธิบาย: แถว 0 มีแต่ 1, แถว 2 มีแต่ 3 อินพุต: matrix = [ [1, 2, 3, 4], [1, 2, 3,

  9. นับจำนวนการหมุนเวียนของ N ที่เป็นเลขคี่และเลขคู่ใน C++

    เราได้รับตัวเลข N เป้าหมายคือการนับจำนวนการหมุนเวียนของ N ที่ทำให้ได้เลขคี่ และการหมุนเวียนที่ทำให้ได้เลขคู่ เช่น N = 123 การหมุนเวียนคือ 123, 321, 132 เลขคี่: 123, 321 (2 ตัว) เลขคู่: 132 (1 ตัว) ตัวอย่าง อินพุต: N = 54762 เอาต์พุต: Count of rotations of N which are Odd are: 2 Count of rotations

  10. นับจำนวนการหมุนเวียนใน Linked List ที่เรียงลำดับแล้วหมุนใน C++

    เราได้รับ Linked List ที่เรียงลำดับก่อน แล้วค่อยหมุนเวียน (rotate) ไป K โหนด เป้าหมายคือหาค่า K ตัวอย่าง อินพุต: List: 5 → 7 → 9 → 1 → 3 เอาต์พุต: 3 คำอธิบาย: รายการต้นฉบับคือ 1 → 3 → 5 → 7 → 9 หมุน 3 ครั้งจะได้รายการที่รับเข้ามา 1 → 3 → 5 → 7 → 9 (ต้นฉบับ) 9 → 1 → 3 → 5 → 7 (หมุน 1) 7 → 9 → 1 → 3

  11. นับจำนวนการหมุนเวียนของตัวเลขที่หารด้วย 4 ลงตัวใน C++

    เราได้รับตัวเลขขนาดใหญ่ เป้าหมายคือการนับจำนวนการหมุนเวียน (rotations) ของตัวเลขที่หารด้วย 4 ลงตัว ใช้คุณสมบัติการหารด้วย 4: ถ้าตัวเลข 2 หลักสุดท้ายหารด้วย 4 ลงตัว ตัวเลขนั้นจะหารด้วย 4 ลงตัว ตัวอย่าง อินพุต: num = 15324 เอาต์พุต: 2 คำอธิบาย: การหมุนเวียน: 15324, 41532, 24153, 32415, 53241 มี 1532

  12. นับจำนวนการหมุนเวียนของตัวเลขที่หารด้วย 8 ลงตัวใน C++

    เราได้รับตัวเลขขนาดใหญ่ เป้าหมายคือการนับจำนวนการหมุนเวียน (rotations) ของตัวเลขที่หารด้วย 8 ลงตัว เนื่องจากไม่สามารถหมุนเวียนตัวเลขซ้ำๆ ได้ เราจะใช้คุณสมบัติการหารด้วย 8: ถ้าตัวเลข 3 หลักสุดท้ายหารด้วย 8 ลงตัว ตัวเลขนั้นจะหารด้วย 8 ลงตัว ตัวอย่าง อินพุต: num = 15320 เอาต์พุต: 1 คำอธิบาย: การหมุนเ

  13. นับจำนวนวิธีถอดรหัสลำดับตัวเลขที่กำหนดใน C++

    เราได้รับสตริงที่แทนลำดับตัวเลข แต่ละตัวเลขถูกถอดรหัสจาก 1 ถึง 26 เป็นอักษรภาษาอังกฤษ: 1=A, 2=B, ..., 26=Z เป้าหมายคือการหาจำนวนวิธีถอดรหัสทั้งหมดที่เป็นไปได้จากลำดับตัวเลขที่กำหนด ตัวอย่าง อินพุต: str[] = 1532 เอาต์พุต: 2 คำอธิบาย: วิธีถอดรหัสที่เป็นไปได้คือ AECB (1-5-3-2) และ OCB (15-3-2) อินพุต

  14. นับจำนวนรูปสี่เหลี่ยมขนมเปียกปูน (Rhombi) ภายในสี่เหลี่ยมผืนผ้าขนาดกำหนดใน C++

    เราได้รับสี่เหลี่ยมผืนผ้าที่มีขนาดความสูง (height) × ความกว้าง (width) โดยมุมซ้ายล่างอยู่ที่จุดกำเนิด (0,0) เป้าหมายคือการนับจำนวนรูปสี่เหลี่ยมขนมเปียกปูน (Rhombus) ที่อยู่ภายในสี่เหลี่ยมผืนผ้า และตรงตามเงื่อนไขต่อไปนี้: พื้นที่มากกว่า 0 เส้นทแยงมุมขนานกับแกน x และแกน y มุมทั้ง 4 มุมมีพิกัดเป็นจำนว

  15. นับจำนวนจำนวนเต็มบวกที่มีเลข 0 และมีหลักสูงสุด d หลักใน C++

    เราได้รับตัวเลข d ซึ่งแทนจำนวนหลัก เป้าหมายคือการหาจำนวนจำนวนเต็มบวกที่มีเลข 0 อยู่ในตัวเลข และมีจำนวนหลักสูงสุด d หลัก นั่นคือ นับจำนวนทั้งหมดของตัวเลข 1 หลัก, 2 หลัก, 3 หลัก... จนถึง d หลัก ที่มีเลข 0 อย่างน้อย 1 ตัว หลักการคำนวณ สำหรับตัวเลข d หลักที่มีเลข 0 อย่างน้อย 1 ตัว: หลักแรก (d1) สามารถ

  16. โปรแกรมนับจำนวนตัวเลขที่ต้องเพิ่มเพื่อสร้างตัวเลขทั้งหมดตั้งแต่ 1 ถึง k ใน C++

    สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และค่าอีกค่าหนึ่งคือ k เราต้องหาจำนวนตัวเลขขั้นต่ำที่ต้องแทรกเข้าไปใน nums เพื่อให้สามารถสร้างตัวเลขใดๆ จากช่วง [1, k] โดยใช้ subset (เซตย่อย) ของ nums ได้ ตัวอย่าง หากอินพุตคือ nums = [3, 5], k = 6 ผลลัพธ์จะเป็น 2 เนื่องจากเราต้องแทรก 1, 2 เพื่อให้สร้างได้

  17. นับจำนวนการยืม (carry) เมื่อบวกสองตัวเลขใน C++

    เราได้รับตัวเลขสองตัว num_1 และ num_2 เป้าหมายคือนับจำนวนการยืม (carry operations) ที่ต้องใช้ถ้าบวกตัวเลขทั้งสอง ถ้าตัวเลขคือ 123 และ 157 การยืมจะเป็น 1 ครั้ง (7+3=10, 1+2+5=8, 1+1=2) มาดูตัวอย่าง อินพุต − num_1=432 num_2=638 เอาต์พุต − จำนวนการยืมเมื่อบวกสองตัวเลข คือ 2 คำอธิบาย − จากขวาไปซ้าย บ

  18. นับคู่ตัวเลขจาก 1 ถึง N ที่ผลคูณหารด้วยผลรวมลงตัวใน C++

    เราได้รับตัวเลข N เป้าหมายคือหาคู่ของตัวเลขจาก 1 ถึง N ที่ผลคูณของคู่หารด้วยผลรวมของคู่นั้นลงตัว มาดูตัวอย่าง อินพุต − N=11 เอาต์พุต − จำนวนคู่ตัวเลขจาก 1 ถึง N ที่ผลคูณหารด้วยผลรวมลงตัว คือ 1 คำอธิบาย − ตัวเลข 3 และ 6 มีผลคูณ 18 และผลรวม 9 หาร 18 ลงตัว อินพุต − N=30 เอาต์พุต − จำนวนคู่ตัวเลขจาก

  19. นับคู่ที่มีค่าเฉลี่ยอยู่ในอาเรย์เดียวกันใน C++

    เราได้รับอาเรย์ของจำนวนเต็มที่สมาชิกแต่ละตัวอยู่ในช่วง [-1000, 1000] เป้าหมายคือหาคู่ของสมาชิกอาเรย์ที่ค่าเฉลี่ยของพวกเขาก็อยู่ในอาเรย์นั้นด้วย หากอาเรย์คือ arr[]= [1,2,3,4] คู่จะเป็น (1,3) และ (2,4) เพราะค่าเฉลี่ยของ 1,3 คือ 2 และค่าเฉลี่ยของ 2,4 คือ 3 และทั้ง 2 และ 3 อยู่ในอาเรย์ จำนวนคือ 2 มาดู

  20. นับคู่จำนวนธรรมชาติที่มี GCD เท่ากับตัวเลขที่กำหนดใน C++

    เราได้รับตัวแปรอินพุตสามตัวคือ start, end และ number เป้าหมายคือหาคู่ของตัวเลขระหว่าง start และ end ที่มีค่า GCD เท่ากับ number เช่น GCD(A,B)=number และทั้ง A, B อยู่ในช่วง [start,end] มาดูตัวอย่าง อินพุต − start=5 end=20 number=8 เอาต์พุต − จำนวนคู่จำนวนธรรมชาติที่มี GCD เท่ากับตัวเลขที่กำหนด คื

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:231/301  20-คอมพิวเตอร์/Page Goto:1 225 226 227 228 229 230 231 232 233 234 235 236 237