หน้าแรก
หน้าแรก
สมมติว่าเรามีต้นไม้ไบนารีที่แต่ละโหนดมีตัวเลขหลักเดียวตั้งแต่ 0 ถึง 9 ตอนนี้แต่ละเส้นทางจากรากถึงใบไม้จะแสดงตัวเลขที่มีตัวเลขตามลำดับ เราต้องหาผลรวมของตัวเลขที่แสดงโดยเส้นทางทั้งหมดในต้นไม้ ดังนั้นหากอินพุตเป็นแบบ จากนั้นผลลัพธ์จะเป็น 680 เป็น 46 (4 → 6), 432 (4 → 3 → 2), 435 (4 → 3 → 5) และผลรว
สมมติว่าเรามีเมทริกซ์ไบนารี โดยที่ 1 หมายถึงดิน และ 0 หมายถึงน้ำ อย่างที่เราทราบกันดีว่าเกาะคือกลุ่มของ 1s ที่รวมกันเป็นกลุ่มซึ่งมีปริมณฑลล้อมรอบด้วยน้ำ เราต้องหาจำนวนเกาะที่ล้อมรอบอย่างสมบูรณ์ ดังนั้นหากอินพุตเป็นแบบ จากนั้นผลลัพธ์จะเป็น 2 เนื่องจากมีสามเกาะ แต่สองเกาะถูกล้อมรอบอย่างสมบูรณ์ เพ
สมมติว่าเรามีตัวเลข n และมีสวิตช์ n ตัวในห้องหนึ่ง และสวิตช์ทั้งหมดปิดอยู่ ตอนนี้ n คนที่พลิกสวิตช์ดังนี้ − บุคคลที่ 1 พลิกสวิตช์ทั้งหมดที่เป็นทวีคูณของ 1 (ดังนั้นสวิตช์ทั้งหมด) คนที่ 2 พลิกสวิตช์ที่เป็นทวีคูณของ 2 (2, 4, 6, ...) บุคคลที่ฉันพลิกสวิตช์ที่เป็นทวีคูณของ i เราต้องหาจำนวนสวิตซ์ที่จะเป
สมมติว่าเรามีรายการสตริงที่เรียกว่าการโหวต โดยแต่ละรายการจะใช้อักษรตัวพิมพ์เล็กและเป็นการแทนการโหวตของผู้สมัครโดยเรียงจากความชอบสูงสุดไปต่ำสุด ที่นี่อันดับของผู้สมัครขึ้นอยู่กับจำนวนโหวตที่ได้รับตามความชอบสูงสุด ตอนนี้ถ้าเสมอกัน เราจะตรวจสอบจำนวนโหวตที่ได้รับในอันดับที่สูงกว่าอันดับถัดไป เป็นต้น หาก
สมมติว่าเรามีต้นไม้ไบนารีที่ค่าของแต่ละโหนดแสดงถึงสีของมัน ต้นไม้มีอย่างน้อย 2 สี เราต้องตรวจสอบว่าสามารถสลับสีของโหนดกี่ครั้งก็ได้ เพื่อไม่ให้มีโหนดที่เชื่อมต่อกันสองโหนดมีสีเดียวกัน ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์จะเป็น True อย่างที่เราหาได้ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
สมมติว่าเรามีไบนารีทรีและค่า k อีกค่าหนึ่ง เราต้องหาจำนวนโหนดที่ไม่ซ้ำกันไปยังพาธย่อยย่อยซึ่งมีค่าเท่ากับ k ดังนั้นหากอินพุตเป็นแบบ และ k =5 ดังนั้นผลลัพธ์จะเป็น 2 เนื่องจากเส้นทางคือ [2, 3] และ [1, 4] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - จำนวน :=แผนที่เริ่มเก็บค่า 1 สำหรับคีย์ 0 แทน :
สมมติว่าเรามีเมทริกซ์ 2 มิติ แทนผืนป่าที่มีเซลล์สามประเภท:0 เซลล์ว่าง 1 เซลล์ต้นไม้ 2 ต้นไม้บนเซลล์ไฟ ทุกวัน ต้นไม้จะลุกเป็นไฟเมื่อมีเซลล์ที่อยู่ติดกัน (บน ล่าง ซ้าย ขวา ไม่ใช่ แนวทแยง) ต้นไม้ติดไฟ เราต้องหาจำนวนวันที่ต้นไม้ทุกต้นจะลุกเป็นไฟได้ หากไม่สามารถคืนได้ -1. ดังนั้นหากอินพุตเป็นแบบ 1 2
สมมติว่าเรามีรายการตัวเลขสี่ตัว โดยแต่ละหมายเลขอยู่ในช่วง 1 ถึง 9 ในลำดับคงที่ ตอนนี้ถ้าเราวางตัวดำเนินการ +, -, * และ / (/ หมายถึงการหารจำนวนเต็ม) ระหว่างตัวเลขและจัดกลุ่มด้วยวงเล็บ เราต้องตรวจสอบว่าสามารถรับค่า 24 ได้หรือไม่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[5, 3, 6, 8, 7] ผลลัพธ์จะเป็น True เ
สมมติว่าเรามีกระดาน 3x3 ซึ่งตัวเลขทั้งหมดอยู่ในช่วง 0 ถึง 8 และไม่มีตัวเลขซ้ำ ตอนนี้ เราสามารถสลับ 0 กับหนึ่งใน 4 เพื่อนบ้านของมันได้ และเรากำลังพยายามแก้ปัญหาเพื่อให้ได้ลำดับที่จัดเรียงทั้งหมด เราต้องหาจำนวนขั้นตอนขั้นต่ำที่จำเป็นเพื่อให้บรรลุเป้าหมาย ดังนั้นหากอินพุตเป็นแบบ 3 1 2 4 7 5
สมมติว่าเราอยู่ที่ตำแหน่ง 0 ของรายการความยาว n และในแต่ละขั้นตอน เราสามารถย้ายไปทางขวาที่หนึ่งหรือซ้ายหนึ่งที่ (ไม่เกินขอบเขต) หรืออยู่ที่ตำแหน่งเดิม ตอนนี้ถ้าเราสามารถเดินได้ k ก้าว เราต้องค้นหาว่าเราจะเดินได้กี่ก้าวและย้อนกลับไปที่ดัชนี 0 หากคำตอบคือมาก ให้คืนค่า mod 10^9 + 7 ดังนั้น หากอินพุตเป็
สมมติว่าเรามีสองรายการที่มีขนาดเท่ากัน นั่นคือกำหนดเวลาและหน่วยกิตและเป็นตัวแทนของการมอบหมายหลักสูตร กำหนดเวลา[i] แสดงวันครบกำหนดสำหรับการมอบหมายงาน i และหน่วยกิต[i] หมายถึงจำนวนหน่วยกิตที่เราได้รับสำหรับการมอบหมายงาน i เรามีเวลา 1 วันในการทำงานให้เสร็จ และสามารถดำเนินการให้แล้วเสร็จก่อนหรือภายในวัน
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และมีการเรียงลำดับจากน้อยไปมาก เราต้องลบค่า k ออกจากรายการ เพื่อให้ค่าความแตกต่างสูงสุดระหว่างค่าที่อยู่ติดกันสองค่ามีค่าน้อยที่สุดเท่าที่จะเป็นไปได้ และในที่สุดก็พบความแตกต่าง ดังนั้น หากอินพุตเท่ากับ nums =[15, 20, 30, 400, 1500] k =2 ผลลัพธ์จะเป็น 10 ราว
สมมุติว่าเรามีตัวเลข n เราต้องหาค่าถัดไปที่ใกล้เคียงที่สุดโดยที่ตัวเลขทั้งหมดเป็นเลขคี่ เมื่อมีค่าสองค่าที่ผูกกับ n มากที่สุด ให้คืนค่าที่มากกว่า ดังนั้น หากอินพุตเท่ากับ n =243 เอาต์พุตจะเป็น 199 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - first_even :=-1 s :=n เป็นสตริง l :=ขนาดของ s สำหรับฉัน
สมมติว่าเรามีสองสาย S และ T และเป็นแอนนาแกรมของกันและกัน เราต้องหาจำนวนสวอปขั้นต่ำที่จำเป็นใน S เพื่อให้เหมือนกับ T ดังนั้น หากอินพุตเป็นเหมือน S =kolkata T =katloka ผลลัพธ์จะเป็น 3 ซึ่งสามารถสลับในลำดับนี้ได้ [katloka (ให้ไว้), kotlaka, koltaka, kolkata] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้
สมมติว่าเรามีรายการตัวเลขที่แสดงความสูงของแท่งกราฟในฮิสโตแกรม เราต้องหาพื้นที่ของสี่เหลี่ยมที่ใหญ่ที่สุดที่สามารถเกิดขึ้นได้ภายใต้แท่งไม้ ดังนั้น หากอินพุตเป็น nums =[3, 2, 5, 7] แล้วผลลัพธ์จะเป็น 10 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - stk :=สแต็คและเริ่มต้นแทรก -1 เข้าไป ใส่ 0 ที่ส
สมมติว่าเรามีเมทริกซ์ไบนารี เราต้องหากำลังสองที่ใหญ่ที่สุดของ 1 ในเมทริกซ์ที่ให้มา ดังนั้นหากอินพุตเป็นแบบ 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 แล้วผลลัพธ์จะเป
สมมติว่าเรามีไบนารีทรีและเกือบจะเป็นทรีการค้นหาแบบไบนารี มีการสลับค่าของโหนดเพียงสองโหนดเท่านั้น เราต้องแก้ไขและส่งคืนแผนผังการค้นหาไบนารี ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์ที่ได้จะเป็น เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - prev_node :=null, min_node :=null, max_node :=null found_one
สมมติว่าเรามีต้นไม้ไบนารี เราต้องหาเส้นทางที่ยาวที่สุดในไบนารีทรี ดังนั้นหากอินพุตเป็นแบบ จากนั้นผลลัพธ์จะเป็น 5 ตามลำดับที่ยาวที่สุดต่อเนื่องกันคือ [2, 3, 4, 5, 6] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้ารูทเป็นโมฆะ คืน 0 maxPath :=0 กำหนดฟังก์ชัน helper() นี่จะใช้โหนด inc :=1, ธันว
สมมติว่าเรามีรายการกล่องที่แต่ละแถวแสดงถึงความสูงและความกว้างของกล่องที่กำหนด เราสามารถใส่กล่องลงในกล่องอื่นได้ถ้ากล่องแรกมีขนาดเล็กกว่ากล่องที่สอง (เมื่อความกว้างและความสูงทั้งสองน้อยกว่ากล่องอื่น) เราต้องหาจำนวนกล่องสูงสุดที่เราจะใส่ลงในกล่องได้ ดังนั้นหากอินพุตเป็นแบบ ความกว้าง ความสูง 12
สมมติว่าเรามีรายการคำและสตริงอื่นที่ไม่มีช่องว่าง เราต้องตรวจสอบว่าสตริงสามารถแยกย่อยโดยใช้รายการคำได้หรือไม่ ดังนั้น หากอินพุตเป็นเหมือนคำ =[love, python, we, programming, language] s =welovepythonprogramming ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - words :=ชุดใหม่ของคำที่