หน้าแรก
หน้าแรก
สมมติว่าเรามีรายการตัวเลข N; เราต้องหาจำนวนขั้นต่ำของการลบตัวเลขที่จำเป็นเพื่อให้ GCD ของตัวเลขที่เหลือมากกว่า GCD เริ่มต้นของตัวเลข N 3 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - INF :=1000001 spf :=รายการที่มีองค์ประกอบ 0 ถึง INF กำหนดฟังก์ชัน sieve() สำหรับฉันในช่วง 4 ถึง INF เพิ่มขึ้น 2 ทำ
สมมติว่าเรามีอาร์เรย์ arr ที่มีจำนวนเต็ม n เราต้องหา arr[i] และ arr[j] จากอาร์เรย์เพื่อให้ arr[i]Carr[j] มีขนาดใหญ่ที่สุด หากมีมากกว่าหนึ่งคู่ ให้คืนอันใดอันหนึ่ง ดังนั้น หากอินพุตเป็นแบบ [4, 1, 2] เอาต์พุตจะเป็น 4 2 เนื่องจาก 4C1 =4, 4C2 =6 และ 2C1 =2 ดังนั้น (4,2) จึงเป็นคู่ที่เราต้องการเท่านั้น
สมมติว่าเรามีต้นไม้ไบนารี เราต้องหาขนาดของ sub-tree ที่สมบูรณ์สูงสุดใน Binary Tree นี้ อย่างที่เราทราบกันดีว่าไบนารีทรีที่สมบูรณ์นั้นเป็นไบนารีทรี หากทุกระดับถูกเติมโดยสมบูรณ์โดยที่ระดับสุดท้ายอาจไม่มีคีย์ และระดับสุดท้ายมีคีย์ทั้งหมดเหลือไว้ให้มากที่สุด ดังนั้นหากอินพุตเป็นแบบ จากนั้นเอาต์พุตจะ
สมมติว่าเรามีตัวเลข N เราต้องกำหนดลูกบาศก์ที่สมบูรณ์แบบที่ใหญ่ที่สุดที่สามารถสร้างได้โดยการลบตัวเลขขั้นต่ำ (อาจเป็น 0) ออกจากตัวเลข เราสามารถลบตัวเลขใด ๆ ออกจากหมายเลขที่กำหนดเพื่อให้บรรลุเป้าหมาย อย่างที่เราทราบกันดีว่าตัวเลข N จะเรียกว่าลูกบาศก์สมบูรณ์ ถ้า N =M^3 สำหรับจำนวนเต็ม M บางส่วน ดังนั้น
สมมติว่าเรามีสตริงสตริงที่มีวงเล็บปีกกาเหล่านี้ (, ), {, }, [ และ ] เราต้องตรวจสอบว่าวงเล็บมีความสมดุลหรือไม่ เราสามารถพูดได้ว่าวงเล็บมีความสมดุลเมื่อประเภทวงเล็บเปิดและปิดเป็นประเภทเดียวกัน วงเล็บปิดในลำดับที่ถูกต้อง ดังนั้น หากอินพุตเป็น {([])} ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นต
สมมติว่ามีต้นไม้สีแดง-ดำ ที่นี่ความสูงที่ใหญ่ที่สุดของโหนดอยู่ที่ความสูงขั้นต่ำเป็นสองเท่า หากเรามีแผนผังการค้นหาแบบไบนารี เราต้องตรวจสอบคุณสมบัติต่อไปนี้ สำหรับโหนดทุกโหนด ความยาวของเส้นทางลีฟไปยังโหนดที่ยาวที่สุดมีไม่เกินสองเท่าของโหนดบนเส้นทางที่สั้นที่สุดจากโหนดหนึ่งไปอีกโหนดหนึ่ง ดังนั้นหากอิน
สมมติว่าเรามีต้นไม้ไบนารี เราต้องเช็คก่อนว่าเป็น heap หรือเปล่า ฮีปมีคุณสมบัติดังต่อไปนี้:ฮีปจะเป็นต้นไม้ไบนารี ต้นไม้นั้นควรเป็นต้นไม้ที่สมบูรณ์ (ดังนั้น ทุกระดับยกเว้นสุดท้ายควรเต็ม) ค่าโหนดทุกค่าของทรีนั้นควรมากกว่าหรือเท่ากับโหนดย่อย (max-heap) ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์จะเป็นจริง
สมมติว่าเรามีสตริงที่มีอักขระที่เป็นตัวเลขและจุดทศนิยม เราต้องตรวจสอบว่าสตริงนั้นเป็นตัวเลขหรือไม่ หากอินพุตเป็นเหมือน “2.5” เอาต์พุตจะเป็นจริง หากอินพุตเป็น “xyz” เอาต์พุตจะเป็นเท็จ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เพื่อแก้ปัญหานี้ เราจะใช้เทคนิคการแยกวิเคราะห์สตริงของภาษาการเขียนโปรแ
สมมติว่าเรามีอาร์เรย์ A ที่มีองค์ประกอบ N เรามีค่าอื่น p และขนาดกลุ่ม k เราต้องตรวจสอบว่ามีคีย์ p อยู่ในทุกส่วนของขนาด k ใน A หรือไม่ ดังนั้น หากอินพุตเป็น A =[4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4], p =4 และ k =3 ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ผม :=0 ในขณะที่ i <
สมมติว่าเรามีกระดานหมากรุกที่ไม่มีที่สิ้นสุดหนึ่งกระดานที่มีกฎเดียวกันกับหมากรุก และหากมีพิกัด N อัศวินบนกระดานหมากรุกที่ไม่มีที่สิ้นสุดและพิกัดของกษัตริย์ เราต้องตรวจสอบว่าพระราชาเป็นผู้รุกฆาตหรือไม่ พิกัดของกระดานไม่มีที่สิ้นสุดถูกล้อมรอบด้วยค่าขนาดใหญ่เช่น (-10^9 <=x, y <=10^9) ดังนั้น ถ้าข้อมูล
สมมติว่าเรามีหมายเลข n เราต้องตรวจสอบว่า n เป็นหมายเลขโทรจันหรือไม่ อย่างที่เราทราบกันดีว่าหมายเลขโทรจันเป็นตัวเลขที่เป็นตัวเลขที่แข็งแกร่งแต่ไม่มีกำลังสมบูรณ์ จำนวน n เป็นจำนวนหนักเมื่อสำหรับทุกตัวหารเฉพาะหรือตัวประกอบ p ของ n p^2 เป็นตัวหารด้วย กล่าวอีกนัยหนึ่ง ทุกปัจจัยเฉพาะปรากฏขึ้นอย่างน้อยสองค
สมมติว่าเรามีตัวเลข n; เราต้องตรวจสอบว่า n เป็นเลขจุดอ่อนหรือไม่ อย่างที่เราทราบกันดีว่าจำนวนหนึ่งคือเลขอคิลลิสเมื่อจำนวนที่มีประสิทธิภาพ (จำนวน N เรียกว่าจำนวนอันทรงพลังเมื่อสำหรับทุกปัจจัยเฉพาะ p ของมัน p^2 ก็หารด้วย) แต่ไม่ใช่กำลังที่สมบูรณ์แบบ ตัวอย่างของตัวเลข Achilles ได้แก่ 72, 108, 200, 288,
สมมติว่าเรามีจำนวน n เราต้องตรวจสอบว่า n เป็นจำนวนเฉพาะไพรมอเรียลหรือไม่ กล่าวได้ว่าจำนวนเฉพาะไพรมอเรียลเมื่อเป็นจำนวนเฉพาะของรูปแบบ pN# + 1 หรือ pN# – 1 โดยที่ pN# บ่งชี้ถึงไพรมอเรียลของ pN ส่งผลให้ผลคูณของจำนวนเฉพาะ N ตัวแรก ดังนั้น หากอินพุตเท่ากับ 29 เอาต์พุตจะเป็น True เนื่องจาก 29 คือ Primori
ในส่วนนี้ เราจะเห็นโครงสร้างข้อมูลฮีปที่มีอยู่ใน C++ STL วิธีนี้ช่วยให้ป้อนข้อมูลในฮีปได้เร็วขึ้นและดึงข้อมูลตัวเลขได้เสมอส่งผลให้จำนวนที่มากที่สุด กล่าวคือ จำนวนที่ใหญ่ที่สุดของตัวเลขที่เหลือจะปรากฏขึ้นในแต่ละครั้ง มีการจัดเรียงองค์ประกอบอื่น ๆ ของฮีปซึ่งขึ้นอยู่กับการใช้งาน การทำงานของฮีปมีดังนี้
สมมติว่าเรามีลำดับการข้ามผ่านคำสั่งภายหลังของแผนผังการค้นหาแบบไบนารี เราต้องสร้างต้นไม้จากลำดับเหล่านี้ ดังนั้น ถ้าลำดับภายหลังคือ [9,15,7,20,3] ต้นไม้จะเป็น − ในการสร้างต้นไม้ เราจำเป็นต้องมีการข้ามผ่านแบบไม่เรียงลำดับด้วย แต่สำหรับทรีการค้นหาแบบไบนารี การข้ามผ่านแบบไม่เรียงลำดับจะอยู่ในรูปแบบที
สมมติว่าเรามีลำดับการข้ามผ่านของลำดับ inorder และ postorder ของไบนารีทรี เราต้องสร้างต้นไม้จากลำดับเหล่านี้ ดังนั้นหากลำดับหลังและลำดับที่ไม่เป็นระเบียบคือ [9,15,7,20,3] และ [9,3,15,20,7] ต้นไม้นั้นจะเป็น − ให้เราดูขั้นตอน - กำหนดวิธีการ build_tree() ซึ่งจะใช้เวลาไม่เป็นระเบียบ ลำดับภายหลัง -
สมมติว่าเรามีการข้ามผ่านคำสั่งภายหลังหนึ่งรายการของแผนผังการค้นหาแบบไบนารี เราต้องหาแผนผังการค้นหาแบบไบนารีจากมัน ดังนั้น หากอินพุตเป็น [6, 12, 10, 55, 45, 15] ผลลัพธ์ก็จะออกมา เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน Solve() การดำเนินการนี้จะเป็นการสั่งทางไปรษณีย์ n :=ขน
ที่นี่เราจะมาดูกันว่าเราสามารถสร้างดาต้าเฟรมแพนด้าโดยใช้ข้อมูลประเภทสตริงได้อย่างไร Pandas รองรับไฟล์ csv แต่เราสามารถทำเช่นเดียวกันกับสตริงได้เช่นกัน สำหรับข้อมูลประเภทสตริง เราต้องใช้แรปเปอร์ตัวเดียว ซึ่งช่วยในการจำลองเมื่อข้อมูลถูกนำไปใช้เป็นโปรแกรมอ่าน csv เราใช้สตริงที่รับข้อมูลและคั่นด้วยเครื
สมมติว่าเรามีตัวแปรขนาดหนึ่ง N เราก็มี SUM ตัวแปรหนึ่งตัว นี่คือผลรวมขององค์ประกอบทั้งหมดที่มีอยู่ในอาร์เรย์ และตัวแปรอื่น K ที่ไม่มีองค์ประกอบในอาร์เรย์คือ มากกว่า K เราต้องหาอาร์เรย์มุมฉากหนึ่งอาร์เรย์ที่องค์ประกอบทั้งหมดในอาร์เรย์มีความแตกต่างกัน หากไม่มีวิธีแก้ปัญหา ให้คืนค่า -1 ดังนั้น หากอินพ
สมมติว่าเรามีรายการที่เชื่อมโยงที่เรียงลำดับแล้วสองรายการ เราจะต้องสร้างรายการที่เชื่อมโยงที่ประกอบด้วยเส้นทางรวมที่ใหญ่ที่สุดจากโหนดเริ่มต้นไปยังโหนดปลาย รายการสุดท้ายอาจประกอบด้วยโหนดจากรายการอินพุตทั้งสอง เมื่อเราสร้างรายการผลลัพธ์ เราอาจสลับไปยังรายการอินพุตอื่นสำหรับจุดตัดเท่านั้น (สองโหนดที่ม