หน้าแรก
หน้าแรก
สมมติว่าเรามีสองสตริง A และ B และอีกสองค่าต้นทุนเช่น CostA และ CostB เราต้องหาต้นทุนขั้นต่ำเพื่อทำให้ A และ B เหมือนกัน เราสามารถลบอักขระออกจากสตริง ค่าใช้จ่ายในการลบจากสตริง A คือ CostA และค่าใช้จ่ายในการลบจากสตริง B คือ CostB ค่าใช้จ่ายในการลบอักขระทั้งหมดออกจากสตริงจะเท่ากัน สมมติว่าสตริง A =wxyz
สมมติว่าคนสองคนต้องการเลือกเมืองต่างๆ พวกเขาได้แสดงรายการเมืองต่างๆ ในรายการที่แตกต่างกัน เราต้องช่วยกัน เพื่อค้นหาตัวเลือกทั่วไป เราเลยต้องหาเมืองเหล่านั้นให้เจอ โดยทั้งสองเมืองมีเครื่องหมายกำกับไว้ การดำเนินการนี้คล้ายกับคุณสมบัติทางแยกชุด เราจะนำสองรายการเป็นชุด จากนั้นดำเนินการตัดชุดเพื่อรับองค
สมมติว่าเรามีสี่เหลี่ยม ABCD แต่เรามีเพียงพิกัดของจุดกึ่งกลาง P และ Q และความยาวของสี่เหลี่ยม L งานของเราคือการหาพิกัดของ A, B, C และ D โดยใช้พิกัดของ P และ Q และความยาวของด้าน L ตัวอย่างเช่น ถ้า P คือ (1, 0) และ Q คือ (1, 2) และ L คือ 2 จากนั้น A, B, C, D จะเป็นตามลำดับ (0, 0), (0, 2), (2, 2) (2
สมมติว่าเรามีต้นไม้ไบนารี งานของเราคือนับทรีย่อยที่มีค่าเดียวในทรีที่กำหนด ทรีย่อยที่มีค่าเดียวคือทรีย่อย โดยที่โหนดทั้งหมดของทรีนั้นมีค่าเท่ากัน สมมติว่าต้นไม้เป็นเหมือนด้านล่าง − มีสี่ทรีย่อยค่าเดียว เหล่านี้เป็นเหมือนด้านล่าง − เราสามารถแก้ไขได้โดยใช้วิธีการจากล่างขึ้นบน สำหรับทุกทรีย่อยที่
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็มบวก งานของเราคือค้นหาคู่ของจำนวนเต็มจากอาร์เรย์ โดยที่ค่า GCD เป็นค่าสูงสุด ให้ A ={1, 2, 3, 4, 5} แล้วผลลัพธ์คือ 2 คู่ (2, 4) มี GCD 2 ค่า GCD อื่น ๆ น้อยกว่า 2 เพื่อแก้ปัญหานี้ เราจะรักษาอาร์เรย์การนับเพื่อเก็บการนับตัวหารของแต่ละองค์ประกอบ กระบวนการนับตัวหารจะใช้
ที่นี่เราต้องหา GCD ของ n เงื่อนไขฟีโบนักชีด้วยดัชนีที่กำหนด ดังนั้นในตอนแรก เราต้องได้ค่าดัชนีสูงสุด และสร้างเงื่อนไข Fibonacci เงื่อนไข Fibonacci บางคำจะเป็นดังนี้:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ….. ดัชนีเริ่มต้นขึ้น จาก 0 ดังนั้นองค์ประกอบที่ 0th ดัชนีคือ 0 หากเราต้องหา gcd ของเงื่อนไขฟีโบนักชี
พิจารณาว่าเรามีอาร์เรย์ซึ่งหมุนอาร์เรย์เรียงลำดับ เราต้องค้นหาจำนวนการหมุนที่จำเป็นในการจัดเรียงอาร์เรย์ (เราจะพิจารณาหมุนจากขวาไปซ้าย) สมมติว่าอาร์เรย์มีลักษณะดังนี้:{15, 17, 1, 2, 6, 11} จากนั้นเราต้องหมุนอาร์เรย์สองครั้งเพื่อจัดเรียง คำสั่งสุดท้ายจะเป็น {1, 2, 6, 11, 15, 17} ผลลัพธ์ที่ได้คือ 2.
สมมติว่าเรามีขอบเขตล่างและบน และเราต้องหาแฝดสามที่ไม่เปลี่ยนรูป (x, y, z) โดยที่คู่ (x, y) เป็น coprime (GCD คือ 1) คู่ (y, z) เป็น coprime แต่คู่ (x, z) ไม่ใช่คู่ coprime ตัวอย่างเช่น หากขอบล่างคือ 2 และขอบบนคือ 10 ดังนั้นองค์ประกอบคือ {2, 3, 4, 5, 6, 7, 8, 9, 10} แฝดสามที่เป็นไปได้คือ (4, 7, 8 ) ใ
เรามีอาร์เรย์ A เราต้องหา LCM ขององค์ประกอบทั้งหมดโดยไม่ต้องใช้การดำเนินการ GCD หากอาร์เรย์มีค่าเท่ากับ {4, 6, 12, 24, 30} แล้ว LCM จะเป็น 120 LCM สามารถคำนวณได้อย่างง่ายดายสำหรับตัวเลขสองตัว เราต้องปฏิบัติตามอัลกอริทึมนี้เพื่อรับ LCM getLCM(a, b) − begin if a > b, then m := a, oth
เราจะมาดูวิธีการหาค่าพื้นและเพดานจาก BST ตัวอย่างเช่น หากเราต้องการสร้างระบบจัดการหน่วยความจำ โดยที่โหนดว่างจะถูกจัดเรียงใน BST ค้นหาความเหมาะสมที่สุดสำหรับคำขอป้อนข้อมูล สมมติว่าเรากำลังเคลื่อนลงมาตามต้นไม้ที่มีข้อมูลที่เล็กที่สุดที่มีขนาดใหญ่กว่าค่าคีย์ มีความเป็นไปได้สามกรณี รูตคือกุญแจสำคัญ จาก
สมมติว่าเรามีอาร์เรย์ A[] ของจำนวนเต็มบวก โดยที่ 2 <=A[i] <=106 สำหรับค่าที่เป็นไปได้ทั้งหมดของ i ภารกิจคือตรวจสอบว่ามีองค์ประกอบอย่างน้อยในอาร์เรย์หรือไม่ซึ่งสร้างคู่ coprime กับองค์ประกอบอื่น ๆ ทั้งหมดของอาร์เรย์ พิจารณาอาร์เรย์ {2, 8, 4, 10, 6, 7} 7 เป็น coprime กับองค์ประกอบอื่น ๆ ทั้งหมดในอาร์เ
สมมติว่าเรามีนิพจน์ นิพจน์มีวงเล็บบางส่วน เราต้องตรวจสอบวงเล็บว่าสมดุลหรือไม่ ลำดับของวงเล็บคือ (), {} และ [] สมมติว่ามีสองสตริง “()[(){()}]” สิ่งนี้ถูกต้อง แต่ “{[}]” ไม่ถูกต้อง งานนี้ง่าย เราจะใช้ stack ทำสิ่งนี้ เราควรทำตามขั้นตอนเหล่านี้เพื่อรับวิธีแก้ปัญหา - ข้ามผ่านนิพจน์จนหมด ถ้าอักขระปัจจุ
สมมติว่าเรามีต้นไม้ไบนารี ต้นไม้ไบนารีถูกต้องเมื่อตรงตามคุณสมบัติต่อไปนี้ แต่ละโหนดควรมีค่าข้อมูลเหมือนกับผลรวมของค่าลูกซ้ายและขวา หากไม่มีลูกอยู่ข้างใดข้างหนึ่ง จะถือว่าเป็น 0 สมมติว่ามีต้นไม้อยู่ด้านล่างซึ่งตรงกับคุณสมบัติที่กำหนด ไม่มีเคล็ดลับในการตรวจสอบ เราต้องสำรวจต้นไม้ซ้ำๆ หากโหนดและลู
เรามีสองอาร์เรย์เพื่อแสดงองค์ประกอบของ BST หากเรานำองค์ประกอบจากอาร์เรย์นั้นจากซ้ายไปขวา และสร้าง BST จากนั้นเราจะสร้าง BST เดียวกันโดยการดึงจากทั้งสองอาร์เรย์ เราต้องตรวจสอบว่าทั้งสองมีรูปร่างเหมือนกันหรือไม่ แต่ข้อจำกัดคือเราไม่สามารถสร้าง BST ได้ สมมติว่าสองอาร์เรย์คือ {2, 4, 1, 3} และ {2, 1, 4,
7/2 เราสามารถนับการเกิดขึ้นของ x ในอาร์เรย์ได้ และหากตัวเลขมากกว่า n/2 คำตอบจะเป็นจริง ไม่เช่นนั้น จะเป็นเท็จ ตัวอย่าง #include <iostream> #include <stack> using namespace std; bool isMajorityElement(int arr[], int n, int x){ int freq = 0; for(int i = 0; i<n
พิจารณาว่าเรามีสตริงและข้อความค้นหาบางรายการในชุด Q แต่ละข้อความค้นหาประกอบด้วยจำนวนเต็ม i และ j และอีกตัว c. เราต้องแทนที่อักขระที่ดัชนี i และ j ด้วยอักขระใหม่ c และบอกได้ว่าสตริงนั้นเป็นพาลินโดรมหรือไม่ สมมติว่าสตริงเป็นเหมือน AXCDCMP หากเราใช้หนึ่งแบบสอบถามเช่น (1, 5, B) สตริงจะเป็น ABCDCBP จากนั
พิจารณาว่าเรามีอาร์เรย์ 2 มิติ เราต้องค้นหาว่าเราจะหาเส้นทางจากมุมบนซ้ายไปมุมล่างขวาได้หรือไม่ เมทริกซ์เต็มไปด้วย 0 และ 1 0 หมายถึงพื้นที่เปิดโล่ง 1 หมายถึงการอุดตัน โปรดทราบว่ามุมบนซ้ายจะเป็น 1 เสมอ สมมติว่าเมทริกซ์อยู่ด้านล่าง - 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 เส้นทางหนึ
ในที่นี้เราจะมาดูกันว่าเมทริกซ์เป็นเมจิกสแควร์หรือไม่ เมจิกสแควร์ก็คือเมทริกซ์สี่เหลี่ยมจัตุรัส โดยที่ผลรวมของแต่ละแถว แต่ละคอลัมน์ และแต่ละแนวทแยงจะเท่ากัน สมมติว่าเมทริกซ์อยู่ด้านล่าง - 6 1 8 7 5 3 2 9 4 นี่คือตารางมหัศจรรย์ หากเราเห็น ผลรวมของแต่ละแถว คอลัมน์ และแนวทแยงคือ 15 ในการตรวจสอบ
เรามีอาร์เรย์ A เราต้องตรวจสอบว่าอาร์เรย์สามารถแสดง BST ที่มีระดับ n ได้หรือไม่ ตามระดับที่กำหนด เราสามารถสร้างต้นไม้ในลักษณะดังต่อไปนี้ สมมติว่าตัวเลขคือ k ค่าที่มากกว่า k จะเลื่อนไปทางขวา และน้อยกว่า k จะเคลื่อนที่ไปทางซ้าย สมมติว่ามี 2 รายการ:{50, 20, 9, 25, 10} และ {50, 30, 20, 25, 10} อันแรก
สมมุติว่าเรามีสตริงตัวเลขเราต้องหาว่าจำนวนนั้นเป็นเลขฐาน B หรือเปล่า? หากสตริงคือ 101110 ให้ b =2 โปรแกรมจะคืนค่าเป็น จริง หากสตริงเป็น “A8F” ฐานคือ 16 จะเป็นค่าจริง วิธีการนั้นง่ายมาก หากอักขระทั้งหมดอยู่ในช่วงสัญลักษณ์ของฐานที่กำหนด ให้คืนค่า จริง หรือ เท็จ ตัวอย่าง #include <iostream> usin