Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. แทรกช่วงเวลาใน C++

    สมมติว่าเรามีชุดของช่วงเวลาที่ไม่ทับซ้อนกัน เราต้องใส่ช่วงเวลาใหม่เข้าไปในช่วงเวลานั้น เราสามารถรวมกันได้ถ้าจำเป็น ดังนั้นหากอินพุตเป็น − [[1,4],[6,9]] และช่วงใหม่คือ [2,5] เอาต์พุตจะเป็น [[1,5],[6,9]] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - แทรกช่วงเวลาใหม่เมื่อสิ้นสุดรายการช่วงเวลาก่อนหน

  2. การจัดข้อความให้เหมาะสมใน C++

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

  3. แก้ไขระยะทางในภาษา C++

    สมมติว่าเรามีคำสองคำ word1 และ word2 เราต้องหาจำนวนการดำเนินการขั้นต่ำที่จำเป็นในการแสดงคอนเสิร์ตจาก word1 ถึง word2 การดำเนินการสามารถมีได้สามประเภท ได้แก่ การแทรกอักขระ ลบอักขระ และแทนที่อักขระ ดังนั้นหากสตริงอินพุตเป็น ประเมิน และ ผันผวน ผลลัพธ์จะเป็น 5 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้

  4. สตริงย่อยหน้าต่างขั้นต่ำใน C++

    สมมติว่าเรามีสตริง S และ T เราต้องหาหน้าต่างขั้นต่ำใน S ซึ่งจะมีอักขระทั้งหมดใน T ดังนั้นหากอินพุตเป็นเหมือน “ABHDAXCVBAGTXATYCB” และ T =“ABC” ผลลัพธ์จะเป็น:“ CVBA”. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สร้างหนึ่งแผนที่ m เก็บความถี่ของ x เป็น m length :=ขนาดของ s, left :=0, right

  5. สี่เหลี่ยมผืนผ้าสูงสุดใน C ++

    สมมติว่าเรามีเมทริกซ์ไบนารี 2D โดยมีค่า 0s และ 1 เราต้องหาสี่เหลี่ยมที่ใหญ่ที่สุดที่มี 1 วินาทีแล้วคืนพื้นที่ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้- กำหนดฟังก์ชันที่เรียกว่า getAns ซึ่งจะใช้อาร์เรย์ a สร้าง stack st, i :=0, ans :=0 ในขณะที่ฉัน <ขนาดของ a แล้ว =ด้านบนของ stack ให้ใส่

  6. แทรกระหว่างสตริงใน C ++

    สมมติว่าเรามีสามสตริง s1, s2 และ s3 จากนั้นตรวจสอบว่า s3 เกิดขึ้นจากการสลับระหว่าง s1 และ s2 หรือไม่ ดังนั้นหากสตริงเป็น “aabcc”, s2 =“dbbca” และ s3 คือ “aadbbcbcac” ผลลัพธ์จะเป็นจริง เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการหนึ่งที่เรียกว่า Solve() ซึ่งจะใช้เวลา s1, s2, s3 และอา

  7. กู้คืนโครงสร้างการค้นหาไบนารีใน C ++

    สมมติว่าเรามีแผนผังการค้นหาแบบไบนารีหนึ่งรายการ ตอนนี้ให้พิจารณาสององค์ประกอบของ BST ที่สลับกัน ดังนั้นเราต้องกู้คืนโครงสร้างการค้นหาแบบไบนารีนี้ ดังนั้นหากต้นไม้ที่ให้มาเป็นเหมือนด้านล่าง (อันแรก) ต้นไม้ที่กู้คืนจะเป็น (อันที่สอง) - เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดการอ้างอิ

  8. ลำดับที่แตกต่างใน C ++

    สมมติว่าเรามีสตริง S และ T เราต้องนับจำนวนลำดับที่แตกต่างกันของ S ซึ่งเท่ากับ T เรารู้ว่าส่วนย่อยของสตริงเป็นสตริงใหม่ที่สร้างขึ้นจากสตริงดั้งเดิมโดยการลบอักขระบางตัว (ไม่สามารถเป็นได้) โดยไม่รบกวนตำแหน่งสัมพัทธ์ของอักขระที่เหลือ (เช่น ACE เป็นผลสืบเนื่องมาจาก ABCDE ในขณะที่ AEC ไม่ใช่) หากสตริงอิ

  9. Palindrome Partitioning II ใน C ++

    สมมติว่าเรามีสตริง s เราต้องหาจำนวนการตัดที่จำเป็นในการแบ่งสตริงนี้ออกเป็นสตริงย่อยที่แตกต่างกัน และแต่ละส่วนจะเป็นพาลินโดรม ดังนั้นถ้าสตริงเป็นเหมือน aabba ให้ตัด 2 ครั้ง [aba|bb|a] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=จำนวนอักขระในสตริง s สร้างหนึ่งอาร์เรย์ที่เรียกว่า res ขนาด n

  10. แคนดี้ในภาษา C++

    สมมุติว่ามีเด็ก N คน กำลังยืนเข้าแถว ที่นี่เด็กแต่ละคนจะได้รับการกำหนดค่าการให้คะแนน เรากำลังจัดหาขนมให้กับเด็กเหล่านี้ภายใต้ข้อกำหนดดังต่อไปนี้ - เด็กแต่ละคนต้องมีขนมอย่างน้อยหนึ่งชิ้น เด็กที่มีคะแนนสูงจะได้รับขนมมากกว่าเพื่อนบ้าน เราต้องหาจำนวนขนมขั้นต่ำที่เราต้องให้หรือไม่ ดังนั้นหากอิน

  11. คะแนนสูงสุดในบรรทัดใน C++

    สมมุติว่าเรามีเครื่องบิน 2 มิติ เราต้องหาจำนวนจุดที่อยู่บนเส้นตรงเดียวกันมากที่สุด ดังนั้นหากคะแนนเป็นเช่น − แล้วมี 4 จุด เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=จำนวนแต้ม ถ้า n <3 ให้คืนค่า n ตอบ :=2 สำหรับผมอยู่ในช่วง 1 ถึง n – 1 นับ :=0 เอาสองจุดจากดัชนี i และ i – 1 นี

  12. ค้นหาค่าต่ำสุดใน Rotated Sorted Array II ใน C++

    สมมติว่าเรามีอาร์เรย์ที่จัดเรียงแล้ว ตอนนี้มีการหมุนที่จุดหมุนบางส่วน เดือยไม่เป็นที่รู้จักมาก่อน เราต้องหาองค์ประกอบขั้นต่ำจากอาร์เรย์นั้น ดังนั้นหากอาร์เรย์เป็นแบบ [4,5,5,5,6,8,2,3,4] อิลิเมนต์ขั้นต่ำคือ 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการหนึ่งที่เรียกว่า search() ซึ่งต

  13. ช่องว่างสูงสุดใน C++

    สมมติว่าเรามีอาร์เรย์ที่ไม่ได้เรียงลำดับ เราต้องหาความแตกต่างสูงสุดระหว่างองค์ประกอบที่ต่อเนื่องกันในรูปแบบการเรียงลำดับ เราจะคืนค่า 0 หากอาร์เรย์มีองค์ประกอบน้อยกว่า 2 รายการ ดังนั้นหากอาร์เรย์เป็นเหมือน [12,3,9,1,17] ผลลัพธ์จะเป็น 6 เนื่องจากอาร์เรย์ที่จัดเรียงจะเป็น [1,3,9,12,17] ดังนั้น 5 จะเป็น

  14. เกมดันเจี้ยนใน C++

    สมมุติว่ามีเรื่องราวเหมือนปีศาจจับเจ้าหญิงที่ชื่อ P และขังเธอไว้ที่มุมล่างขวาของคุกใต้ดิน ดันเจี้ยนประกอบด้วยห้องแถว M, ห้องเหมือนตาราง N คอลัมน์ อัศวินผู้กล้าหาญของเราชื่อ K อยู่ในห้องซ้ายบนสุดในตอนแรก และต้องต่อสู้ฝ่าดันเจี้ยนเพื่อช่วยเจ้าหญิง ตอนนี้อัศวินมีคะแนนสุขภาพเริ่มต้นที่แสดงด้วยจำนวนเต็ม

  15. เวลาที่ดีที่สุดในการซื้อและขายหุ้น IV ใน C++

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

  16. Palindrome ที่สั้นที่สุดใน C ++

    สมมติว่าเรามีสตริง s เราสามารถแปลงเป็นพาลินโดรมได้โดยการเพิ่มอักขระไว้ข้างหน้า เราต้องหา palindrome ที่สั้นที่สุด ที่เราจะหาข้อมูลนี้ได้ ดังนั้นหากสตริงเป็นเหมือน “abcc” ผลลัพธ์จะเป็น − ccbabcc เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=ขนาดของ s, s1 :=s, s2 :=s ย้อนกลับสตริง s2 s2 :

  17. เครื่องคิดเลขพื้นฐานในภาษา C++

    สมมติว่าเราต้องการสร้างเครื่องคิดเลขพื้นฐานหนึ่งเครื่องที่จะหาผลลัพธ์ของนิพจน์พื้นฐาน นิพจน์สามารถใส่วงเล็บเปิดและปิด บวกหรือลบสัญลักษณ์และช่องว่าง ดังนั้นหากสตริงเป็นแบบ “5 + 2 - 3” ผลลัพธ์จะเป็น 7 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ret :=0, sign :=1, num :=0, n :=size of s กำหนดห

  18. จำนวนหลักหนึ่งใน C++

    สมมติว่าเรามีตัวเลข n เราต้องนับจำนวนรวมของหลัก 1 ที่ปรากฏในตัวเลขที่ไม่ติดลบทั้งหมดน้อยกว่าหรือเท่ากับ n ดังนั้นหากอินพุตคือ 15 ผลลัพธ์จะเป็น 8 เพราะตัวเลขที่มี 1 คือ [1,10,11,12,13,14,15] จึงมี 8 1 วินาที เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ยกเลิก :=0 สำหรับการเริ่มต้น i :=1 เมื่อ

  19. หน้าต่างบานเลื่อนสูงสุดใน C++

    สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums มีหน้าต่างบานเลื่อนขนาด k ซึ่งเคลื่อนจากด้านซ้ายของอาร์เรย์ไปทางขวา เราจะเห็นเฉพาะตัวเลข k ในหน้าต่างเท่านั้น แต่ละครั้งที่หน้าต่างบานเลื่อนเลื่อนไปทางด้านขวาทีละตำแหน่ง เราต้องหาหน้าต่างบานเลื่อนสูงสุด ดังนั้นหากอินพุตเป็น −[1,3,-1,-3,5,3,6,8] และ k คือ 3 หน้าต

  20. นิพจน์เพิ่มตัวดำเนินการใน C++

    สมมติว่าเรามีสตริงที่เก็บเฉพาะตัวเลขตั้งแต่ 0 ถึง 9 และให้ค่าเป้าหมายหนึ่งค่า เราต้องคืนค่าความเป็นไปได้ทั้งหมดเพื่อเพิ่มตัวดำเนินการไบนารี +, - และ * ลงในตัวเลขเพื่อรับค่าเป้าหมาย ดังนั้นหากอินพุตเป็น “232” และเป้าหมายคือ 8 คำตอบจะเป็น [“2*3+2”, “2+3*2”] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้

Total 5992 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:175/300  20-คอมพิวเตอร์/Page Goto:1 169 170 171 172 173 174 175 176 177 178 179 180 181