หน้าแรก
หน้าแรก
เรามีอาร์เรย์ A มีองค์ประกอบทั้งหมดที่เกิดขึ้น m ครั้ง แต่องค์ประกอบหนึ่งเกิดขึ้นเพียงครั้งเดียว เราต้องหาองค์ประกอบพิเศษนั้นให้เจอ ดังนั้น หากอินพุตเป็น A =[6, 2, 7, 2, 2, 6, 6], m =3 ผลลัพธ์จะเป็น 7 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - INT_SIZE :=8 * ขนาดของตัวแปรประเภทจำนวนเต็ม กำหนดจำ
สมมติว่าเรามีต้นไม้ไบนารี เราต้องคำนวณความยาวของเส้นทางที่ยาวที่สุดซึ่งประกอบด้วยโหนดที่มีค่าต่อเนื่องกันตามลำดับที่เพิ่มขึ้น ทุกโหนดจะถือว่าเป็นเส้นทางที่มีความยาว 1 ดังนั้นหากอินพุตเป็นแบบ จากนั้นเอาต์พุตจะเป็น 3 เนื่องจาก (11, 12, 13) เป็นเส้นทางต่อเนื่องสูงสุด เพื่อแก้ปัญหานี้ เราจะทำตามขั้
สมมติว่าเรามี k sorted arrays ต่างกัน เราต้องรวมอาร์เรย์เหล่านี้และแสดงผลการเรียงลำดับ ดังนั้น หากอินพุตเป็น k =3 และอาร์เรย์คือ {2, 4},{3, 5, 7},{1, 10, 11, 12} ผลลัพธ์จะเป็น 1 2 3 4 5 7 10 11 12 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดประเภทของคู่ที่มีองค์ประกอบแรกเป็นจำนวนเต็ม และองค
แนวคิด สำหรับอาร์เรย์ที่จัดเรียงสามชุด A, B และ C ไม่จำเป็นต้องมีขนาดเท่ากัน ให้คำนวณค่าต่ำสุด กล่าวคือ ค่าความแตกต่างสัมบูรณ์ขั้นต่ำระหว่างจำนวนสูงสุดและต่ำสุดของ triplet A[i],B[j], C[k] ดังกล่าว ว่าอยู่ภายใต้อาร์เรย์ A, B และ C ตามลำดับ เช่น ย่อเล็กสุด (max(A[i], B[j], C[k]) – min(A[i], B[j], C[k
สมมติว่าเรามีอาร์เรย์ 2 มิติ โดยที่แต่ละเซลล์ประกอบด้วยค่าตัวเลขซึ่งแสดงถึงค่าใช้จ่ายในการเข้าชมผ่านเซลล์นั้น เราต้องหาเส้นทางจากเซลล์ด้านซ้ายบนไปยังเซลล์ด้านขวาล่างโดยที่ค่าใช้จ่ายทั้งหมดที่ใช้ไปนั้นน้อยที่สุด ดังนั้นหากอินพุตเป็นแบบ 32 10 1 66 13 19 11 14 48 15 8 7 10 1 11 14 17 5
แนวคิด สมมติว่ามีกระดานที่มีความยาว p และความกว้าง q เราต้องแบ่งกระดานนี้ออกเป็นสี่เหลี่ยม p*q เพื่อให้ค่าใช้จ่ายในการทำลายน้อยที่สุด สำหรับบอร์ดนี้ จะมีการลดราคาสำหรับแต่ละขอบ โดยสรุป เราต้องการเลือกลำดับการตัดดังกล่าวซึ่งจะช่วยลดต้นทุนได้ ตัวอย่าง ด้วยความเคารพของกระดานด้านบน วิธีที่เหมาะสมท
แนวคิด จาก A x B Chessboard ภารกิจคือการคำนวณจำนวนการตัดสูงสุดที่เราสามารถสร้างใน Chessboard เพื่อไม่ให้กระดานหมากรุกถูกแบ่งออกเป็น 2 ส่วน ตัวอย่าง ตัวอย่างได้รับด้านล่าง − ป้อนข้อมูล A = 2, B = 4 ผลลัพธ์ Number of maximum cuts = 3 ป้อนข้อมูล A = 2, B = 2 ผลลัพธ์ Number of maximum cuts =
แนวคิด ในส่วนที่เกี่ยวกับกราฟที่ไม่ระบุทิศทางของโหนด b และขอบ ภารกิจคือการกำหนดขอบขั้นต่ำที่จำเป็นในการสร้างวงจรออยเลอร์ในกราฟที่กำหนด ป้อนข้อมูล b = 3, a = 2 Edges[] = {{1, 2}, {2, 3}} ผลผลิต 1 ด้วยการเชื่อมต่อ 1 ถึง 3 เราสามารถสร้างวงจรออยเลอร์ได้ วิธีการ ในส่วนที่เกี่ยวกับวงจรออยเลอร์ที่
แนวคิด สำหรับตัวเลข N ที่กำหนด เป้าหมายคือการกำหนดการลบตัวเลขขั้นต่ำเพื่อให้ GCD ของตัวเลขที่เหลือมากกว่า GCD เริ่มต้นของตัวเลข N หากไม่สามารถเพิ่ม GCD ได้ ให้พิมพ์ “NO” ป้อนข้อมูล b[] = {1, 2, 4} ผลผลิต 1 หลังจากลบองค์ประกอบแรกแล้ว GCD ใหม่จะเป็น 2 ซึ่งมากกว่า initialGCD นั่นคือ 1 ป้อนข้อมูล
แนวคิด ด้วยความเคารพต่ออาร์เรย์ arr[] ของจำนวนเต็มบวก n จำนวนที่กำหนด ภารกิจคือการกำหนดองค์ประกอบ arr[i] และ arr[j] จากอาร์เรย์เพื่อให้ arr[i]Carr[j] เป็นไปได้มากที่สุด สำหรับคู่ที่ถูกต้องมากกว่า 1 คู่ ให้พิมพ์คู่ใดคู่หนึ่ง ป้อนข้อมูล arr[] = {4, 1, 2} ผลผลิต 4 2 4C1 = 4 4C2 = 4 2C1 = 4 (4, 2)
แนวคิด บทความนี้อธิบายวิธีการแก้ปัญหาในการค้นหา LCA ของสองโหนดในทรีโดยลดให้เป็นปัญหา RMQ ตัวอย่าง บรรพบุรุษร่วมต่ำที่สุด (LCA) ของสองโหนด a และ b ในทรีที่รูทแล้ว T ถูกกำหนดให้เป็นโหนดที่อยู่ไกลที่สุดจากรูทที่มีทั้ง a และ b เป็นผู้สืบทอด ตัวอย่างเช่น ตามแผนภาพด้านล่าง LCA ของโหนด D และโหนด I คือ
แนวคิด สำหรับต้นไม้ไบนารีที่กำหนด ภารกิจคือการกำหนดขนาดของทรีย่อยที่สมบูรณ์สูงสุดในต้นไม้ไบนารีที่กำหนด Complete Binary Tree – ต้นไม้ไบนารีจะถือว่าเป็นต้นไม้ไบนารีที่สมบูรณ์ หากระดับทั้งหมดถูกเติมเต็มโดยสมบูรณ์โดยไม่มีระดับสุดท้ายและระดับสุดท้ายมีคีย์ทั้งหมดที่เหลืออยู่เท่าที่จะเป็นไปได้ มีข้อสังเ
แนวคิด ในส่วนที่เกี่ยวกับตัวเลข N หน้าที่ของเราคือกำหนดลูกบาศก์ที่สมบูรณ์แบบที่ใหญ่ที่สุดที่สามารถเกิดขึ้นได้โดยการลบตัวเลขขั้นต่ำ (อาจเป็น 0) ออกจากตัวเลข จึงสามารถลบตัวเลขใด ๆ ออกจากตัวเลขที่กำหนดเพื่อไปให้ถึงเป้าหมายได้ A ถูกเรียกว่าเป็นลูกบาศก์ที่สมบูรณ์แบบถ้า A =B^3 สำหรับจำนวนเต็ม B. จะเห็น
แนวคิด สำหรับสตริงที่กำหนดซึ่งมีอักขระ (, ), {, }, [ และ ] ภารกิจคือการค้นหาว่าวงเล็บเหลี่ยมมีความสมดุลหรือไม่ วงเล็บจะถูกแสดงว่าสมดุลถ้า − เราปิดวงเล็บเปิดต้องปิดด้วยวงเล็บประเภทเดียวกัน เราปิดวงเล็บเปิดตามลำดับที่ถูกต้องอีกครั้ง ป้อนข้อมูล − str =“(()){}” ผลผลิต - ใช่ ป้อนข้อมูล − str
แนวคิด สำหรับต้นไม้สีแดง-ดำ ความสูงที่ใหญ่ที่สุดของโหนดจะสูงเป็นสองเท่าของความสูงขั้นต่ำขั้นต่ำสำหรับต้นไม้การค้นหาไบนารีที่กำหนด เราจำเป็นต้องตรวจสอบคุณสมบัติต่อไปนี้ สำหรับโหนดทุกโหนด ความยาวของเส้นทางลีฟไปยังโหนดที่ยาวที่สุดมีไม่เกินสองเท่าของโหนดบนเส้นทางที่สั้นที่สุดจากโหนดหนึ่งไปอีกโหนดหนึ่ง
แนวคิด สำหรับไบนารีทรีที่กำหนด เราจำเป็นต้องตรวจสอบว่ามีคุณสมบัติฮีปหรือไม่ ต้นไม้ไบนารีต้องเป็นไปตามเงื่อนไขสองข้อต่อไปนี้สำหรับการเป็นฮีป – ต้นไม้ไบนารีควรเป็นต้นไม้ที่สมบูรณ์ (เช่น ทุกระดับยกเว้นสุดท้ายควรเต็ม) ค่าทุกโหนดของทรีไบนารีควรมากกว่าหรือเท่ากับโหนดย่อย (พิจารณาจาก max-heap) ตั
สมมติว่าเรามีกราฟที่เชื่อมโยงกัน เราต้องตรวจสอบว่ากราฟเป็นไบพาร์ไทต์หรือไม่ หากการระบายสีกราฟเป็นไปได้ด้วยการใช้สองสี จะทำให้โหนดในชุดมีสีเดียวกัน ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน insert_edge() ซึ่งจะใช้ edge array adj, u
แนวคิด ควรตรวจสอบความถูกต้องหากสตริงที่ระบุเป็นตัวเลข ป้อนข้อมูล − str =12.5 ผลผลิต − จริง ป้อนข้อมูล − str =def ผลผลิต − เท็จ ป้อนข้อมูล − str =2e5 ผลผลิต − จริง ป้อนข้อมูล − 10e4.4 ผลผลิต − เท็จ วิธีการ เราต้องจัดการกับกรณีต่อไปนี้ในรหัส เราต้องละเว้นช่องว่างสีขาวนำหน้าและต่อท้าย เ
แนวคิด สำหรับอาร์เรย์ที่กำหนด arr1[] ที่มีขนาดของอาร์เรย์ N อีกคีย์หนึ่ง X และขนาดเซ็กเมนต์ K ภารกิจคือการพิจารณาว่าคีย์ X มีอยู่ในทุกส่วนของขนาด K ใน arr1[] ป้อนข้อมูล arr1[] = { 4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4} X = 4 K = 3 ผลผลิต Yes มี 4 ส่วนที่ไม่ทับซ้อนกันของขนาด K ในอาร์เรย์ {4, 6,
แนวคิด ด้วยความเคารพต่อกระดานหมากรุกอนันต์ที่ให้มาโดยมีกฎเดียวกันกับหมากรุกและให้พิกัดอัศวิน N บนกระดานหมากรุกไม่มีที่สิ้นสุด (-10^9 <=x, y <=10^9) และพิกัดของกษัตริย์ ภารกิจคือการตรวจสอบว่า พระมหากษัตริย์เป็นผู้รุกฆาตหรือไม่ ป้อนข้อมูล a1[] = { { 2, 1 }, { 1, 3 }, { 3, 6 },{ 5, 5 }, { 6, 1 }, {