หน้าแรก
หน้าแรก
สมมติว่าเรามีระนาบอนันต์ ตอนแรกหุ่นยนต์จะยืนอยู่ที่ตำแหน่ง (0, 0) และหันไปทางทิศเหนือ หุ่นยนต์สามารถรับหนึ่งในสามคำสั่ง - G – ตรงไป 1 หน่วย; L - เลี้ยว 90 องศาไปทางซ้าย R - เลี้ยว 90 องศาไปทางขวา หุ่นยนต์ปฏิบัติตามคำสั่งที่ให้มาตามลำดับ คำแนะนำจะถูกทำซ้ำตลอดไป เราต้องตรวจสอบว่ามีวงกลมอยู
=1 โดยที่ word_1 เป็นผู้บุกเบิกของ word_2, word_2 มาก่อน word_3 เป็นต้น เราต้องหาความยาวของชุดคำที่ยาวที่สุดด้วยคำที่เลือกจากรายการคำที่กำหนด ดังนั้นหากอินพุตเป็นเช่น:[a,b,ba,bca,bda,bdca] ผลลัพธ์จะเป็น 4 เนื่องจากหนึ่งในสายที่ยาวที่สุดจะเป็น [“ a”, “ba”, “bda”, “bdca”]. เพื่อแก้ปัญหานี้ เราจะทำตา
สมมติว่าเรามีกลุ่มหิน ตอนนี้แต่ละก้อนมีน้ำหนักเป็นจำนวนเต็มบวก ในแต่ละเทิร์น เราเลือกหินสองก้อนแล้วทุบให้เข้ากัน หากก้อนหินมีน้ำหนัก x และ y โดยมี x <=y ผลของการทุบครั้งนี้จะเป็น − ถ้า x =y หินทั้งสองจะถูกทำลายโดยสิ้นเชิง ถ้า x !=y หินน้ำหนัก x จะถูกทำลายโดยสิ้นเชิง และหินน้ำหนัก y จะมีน้ำหนัก
สมมติว่าเรามีสตริง เราสามารถสร้างลำดับของสตริงนั้นได้โดยการลบอักขระบางตัว (อาจไม่มีการลบ) ดังนั้นหากมีสตริงต้นทางและเป้าหมายสองสตริง เราต้องหาจำนวนลำดับย่อยของซอร์สขั้นต่ำเพื่อให้การเรียงต่อกันเท่ากับเป้าหมาย หากงานนั้นเป็นไปไม่ได้ ให้คืนค่า -1 ดังนั้นหากแหล่งที่มาคือ abc และเป้าหมายคือ abcbc ผลลัพธ
สมมติว่าเรามีอาร์เรย์ราคา P [p1,p2...,pn] และค่าเป้าหมาย เราต้องปัดเศษราคาแต่ละค่า Pi เป็น Roundi(Pi) เพื่อให้อาร์เรย์ที่ปัดเศษ [Round1(P1),Round2(P2) ...,Roundn(Pn)] ผลรวมของค่าเป้าหมายที่กำหนด ที่นี่แต่ละการดำเนินการ Roundi(pi) อาจเป็น Floor(Pi) หรือ Ceil(Pi) เราต้องคืนค่าสตริง -1 หากอาร์เรย์ที่ป
สมมติว่าเรามีอาร์เรย์ที่จัดเรียง A ของตัวเลขที่ไม่ซ้ำกัน เราต้องหาตัวเลขที่หายไปที่ K โดยเริ่มจากหมายเลขซ้ายสุดของอาร์เรย์ ดังนั้นหากอาร์เรย์เป็นแบบ [4,7,9,10] และ k =1 อิลิเมนต์จะเป็น 5 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=ขนาดของอาร์เรย์ ตั้งค่าต่ำ :=0 และสูง :=n – 1 ถ้า nums[n
สมมติว่าเรามีสตริง A และ B ที่มีความยาวเท่ากัน ตอนนี้เราสามารถพูดได้ว่า A[i] และ B[i] เป็นอักขระที่เทียบเท่ากัน ตัวอย่างเช่น ถ้า A =abc และ B =cde เราก็มี a =c, b =d และ c =e อักขระที่เทียบเท่าจะเป็นไปตามกฎปกติของความสัมพันธ์ที่เท่าเทียมกัน: การสะท้อนกลับ:a =a สมมาตร:a =b หมายถึง b =a Trans
สมมติว่าเรามีสตริง S เราต้องหาความยาวของสตริงย่อยที่ซ้ำกันที่ยาวที่สุด เราจะคืนค่า 0 หากไม่มีสตริงย่อยที่ซ้ำกัน ดังนั้นหากสตริงนั้นเหมือนกับ “abbaba” ผลลัพธ์จะเป็น 2 เนื่องจากสตริงย่อยที่ซ้ำกันที่ยาวที่สุดคือ “ab” หรือ “ba” ส่งกลับคำทั้งหมดที่เกิดขึ้นในลักษณะนี้ในลำดับพจนานุกรม เพื่อแก้ปัญหานี้ เร
สมมติว่าเรามีสตริง S ที่แสดงถึงรายการคำ ที่นี่แต่ละตัวอักษรในคำมี 1 ตัวเลือกขึ้นไป หากมีเพียงตัวเลือกเดียว จดหมายจะแสดงตามที่เป็นอยู่ หากมีมากกว่าหนึ่งตัวเลือก วงเล็บปีกกาจะกำหนดตัวเลือก ตัวอย่างเช่น {a,b,c} จะแสดงตัวเลือก [a, b, c] ตัวอย่างเช่น หากอินพุตเป็น {a,b,c}d{e,f} จะแสดงรายการ [ade, adf, bd
สมมติว่าเรามีจำนวนเต็มสองอาร์เรย์ที่มีความยาวเท่ากัน เราต้องหาค่าสูงสุดของ:|arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j|. โดยที่ค่าสูงสุดจะถูกนำไปทับ 0 <=i, j
สมมติว่าเรามีสตริง text1 และ text2 สองสตริง เราต้องคืนค่าความยาวของลำดับย่อยร่วมที่ยาวที่สุด ลำดับต่อมาของสตริงคือสตริงใหม่ที่สร้างขึ้นจากสตริงเดิมโดยมีอักขระบางตัวถูกลบโดยไม่เปลี่ยนลำดับสัมพัทธ์ของอักขระที่เหลือ (ตัวอย่างเช่น abe เป็นผลสืบเนื่องมาจาก abcde แต่ adc ไม่ใช่) ลำดับย่อยทั่วไปของสองสตริง
สมมติว่าเรามีข้อความสตริง ดังนั้นเราจึงสามารถสลับอักขระสองตัวในสตริงได้ เราต้องหาความยาวของสตริงย่อยที่ยาวที่สุดด้วยอักขระที่ซ้ำกัน ดังนั้นหากอินพุตเป็นเหมือน ababa ผลลัพธ์จะเป็น 3 ราวกับว่าเราสลับ b ตัวแรกกับ a สุดท้าย หรือ b สุดท้ายกับ a ตัวแรก จากนั้นอักขระที่ทำซ้ำที่ยาวที่สุดจะเป็น aaa ดังนั้นคว
สมมติว่าเราได้ให้หัวหน้าของรายการที่เชื่อมโยง เราต้องลบลำดับของโหนดที่ต่อเนื่องกันซึ่งรวมเป็น 0 ซ้ำ ๆ จนกว่าจะไม่มีลำดับดังกล่าว หลังจากทำเช่นนั้น เราต้องกลับหัวของรายการเชื่อมโยงสุดท้าย ดังนั้นหากรายการเป็นแบบ [1,2,-3,3,1] ผลลัพธ์จะเป็น [3,1] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สร้างโห
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจการดำเนินการผสานต่างๆ โดยใช้ STL ใน C++ ฟังก์ชัน merge() ใช้เพื่อรวมคอนเทนเนอร์ที่เรียงลำดับแล้วสองคอนเทนเนอร์ในลักษณะที่คอนเทนเนอร์ใหม่จะถูกจัดเรียงด้วย รวมถึง() เพิ่มเติมใช้เพื่อตรวจสอบว่าองค์ประกอบจากคอนเทนเนอร์แรกมีอยู่ในคอนเทนเนอร์ที่สองหรือไม่
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจโอเปอเรเตอร์โอเวอร์โหลดใน C++ เพื่อพิมพ์เนื้อหาของเวกเตอร์ แผนที่ และการจับคู่ โอเปอเรเตอร์โอเวอร์โหลดเป็นฟังก์ชันของโอเปอเรเตอร์ที่ช่วยให้พวกเขาสามารถดำเนินการกับออบเจกต์ที่ผู้ใช้กำหนดและทำงานในลักษณะเดียวกันได้ ตัวอย่าง เวกเตอร์ #include <iostr
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจลำดับของตัวสร้าง/ตัวทำลายล้างใน C++ ลำดับของตัวสร้าง/ตัวทำลายหมายถึงรูปแบบที่ตัวสร้างของคลาสต่างๆ ถูกเรียกระหว่างการสืบทอดของคลาส ตัวอย่าง #include <iostream> using namespace std; //parent class class Parent{ public:
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจชุดคำสั่งและ GNU C++ PBDS ชุดที่สั่งซื้อเป็นโครงสร้างตามนโยบายนอกเหนือจากที่อยู่ในไลบรารี STL ชุดที่เรียงลำดับจะเก็บองค์ประกอบทั้งหมดไว้ในลำดับการจัดเรียงและไม่อนุญาตให้มีค่าที่ซ้ำกัน ตัวอย่าง #include <iostream> using namespace std; #include
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจตัวทำซ้ำเอาต์พุตใน C++ ตัววนซ้ำเอาท์พุตเป็นส่วนหนึ่งของตัววนซ้ำหลักห้าตัว พวกมันทำงานตรงข้ามกับตัววนซ้ำอินพุตในลักษณะที่สามารถกำหนดค่าได้ แต่ไม่สามารถเข้าถึงเพื่อดึงค่าได้ ตัวอย่าง #include<iostream> #include<vector> using namespace std;
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจการแทนที่คีย์เวิร์ดใน C++ คำหลักแทนที่ใช้เพื่อแทนที่ฟังก์ชันในคลาสฐานและกำหนดฟังก์ชันแยกต่างหากที่มีลายเซ็นเดียวกันในคลาสย่อย ตัวอย่าง #include <iostream> using namespace std; class Base { public: //function to be ove
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจคู่ในไลบรารีเทมเพลตมาตรฐาน C++ คู่คือคอนเทนเนอร์ที่กำหนดไว้ในส่วนหัวของยูทิลิตี้ที่มีค่าสองค่า มันถูกใช้เพื่อรวมค่าสองค่าและเชื่อมโยงเข้าด้วยกันแม้ว่าจะเป็นคนละประเภทกัน ตัวอย่าง #include <iostream> #include <utility> using namespace std