หน้าแรก
หน้าแรก
สมมติว่าเรามีไบนารีทรี เราต้องหาผลรวมสูงสุดของค่าที่หาได้เนื่องจากไม่มีค่าสองค่าใดที่จะสามารถอยู่ติดกับพาเรนต์กับชายด์ได้ ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์จะเป็น 17 เป็น 10, 4, 3 ไม่อยู่ติดกัน เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน f() นี่จะใช้โหนด ถ้าโหนดเป็น null แล้ว ส
สมมติว่าเรามีรายการของสตริงตัวอักษรตัวพิมพ์เล็กที่เรียกว่าคำ เราต้องหาผลรวมสูงสุดของความยาวสองคำที่แตกต่างกันซึ่งไม่มีตัวอักษรร่วมกัน ดังนั้นหากการป้อนเป็นเหมือนคำ =[abcd, mno , abdcmno, amno] จากนั้นผลลัพธ์จะเป็น 7 เนื่องจากคำที่ไม่มีตัวอักษรทั่วไปคือ [abcd, mno] ความยาวรวมคือ 7 เพื่อแก้ปัญหานี้ เ
สมมติว่าเรามีบางรายการ รายการเหล่านี้จะถูกจัดเรียง เราต้องรวมรายการเหล่านี้เป็นรายการเดียว เพื่อแก้ปัญหานี้ เราจะใช้โครงสร้างข้อมูลฮีป ดังนั้นหากรายการคือ [1,4,5], [1,3,4], [2,6] รายการสุดท้ายจะเป็น [1,1,2,3,4,4,5,6] . เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=ขนาดของรายการ heap :=รายการใหม
สมมติว่าเรามีรายการที่มี 0 และ 1 เราต้องลบค่าออกจากด้านหน้าหรือด้านหลังรายการ สุดท้าย เราต้องหาจำนวนการลบขั้นต่ำที่จำเป็น เพื่อให้รายการที่เหลือมีจำนวนเท่ากับ 0 และ 1 วินาที ดังนั้น หากอินพุตเป็น nums =[1, 1, 1, 0, 0, 1] ผลลัพธ์จะเป็น 2 เนื่องจากเราสามารถลบอันแรก 1 และอันสุดท้าย 1 เพื่อให้มี 1 และ
สมมติว่าเรามีสองรายการ L1 และ L2 เราต้องหาความแตกต่างที่น้อยที่สุดระหว่างตัวเลขจาก L1 และตัวเลขจาก L2 ดังนั้น หากอินพุตเป็นเหมือน L1 =[2, 7, 4], L2 =[16, 10, 11] ผลลัพธ์จะเป็น 3 เนื่องจากความแตกต่างที่น้อยที่สุดคือ 10 - 7 =3 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เรียงลำดับรายการ L1 และเรีย
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ตอนนี้ให้พิจารณาการดำเนินการที่เราสามารถอัปเดตองค์ประกอบเป็นค่าใดก็ได้ เราสามารถดำเนินการดังกล่าวได้ไม่เกิน 3 รายการ เราต้องหาผลต่างขั้นต่ำระหว่างค่าสูงสุดและค่าต่ำสุดเป็น num ดังนั้น หากอินพุตเป็น nums =[2, 3, 4, 5, 6, 7] ผลลัพธ์จะเป็น 2 เนื่องจากเราสามารถ
สมมติว่าเรามีเมทริกซ์ของงานที่แต่ละแถวมีค่า 3 ค่า เรายังมีค่า k อีกค่าหนึ่ง เราต้องเลือก k แถวจากงาน เรียกมันว่า S เพื่อให้ผลรวมต่อไปนี้ถูกย่อให้เล็กสุดและส่งคืนผลรวมเป็น:สูงสุดของ (S[0, 0], S[1, 0], ...S[k - 1, 0]) + สูงสุด (S[0, 1], S[1, 1], ...S[k - 1, 1]) + สูงสุด (S[0, 2], S[1, 2], ...S[k - 1,
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และอีกค่าหนึ่งคือ k เราต้องหาจำนวนชุดย่อยที่ไม่ว่าง S ให้มีค่าต่ำสุดของ S + สูงสุดของ S <=k เราต้องจำไว้ว่าชุดย่อยเป็นชุดหลายชุด ดังนั้น อาจมีค่าที่ซ้ำกันในเซตย่อย เนื่องจากค่าเหล่านี้อ้างอิงถึงองค์ประกอบเฉพาะของรายการ ไม่ใช่ค่า ดังนั้น หากอินพุตมีค่าเท่ากั
สมมติว่าเรามีไบนารีทรี เราต้องหาผลรวมทรีย่อยที่บ่อยที่สุด ผลรวมทรีย่อยของโหนดคือผลรวมของค่าทั้งหมดภายใต้โหนด ซึ่งรวมถึงตัวโหนดด้วย ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์จะเป็น 3 เมื่อมันเกิดขึ้นสองครั้ง – หนึ่งครั้งในฐานะลีฟด้านซ้าย และอีกครั้งหนึ่งเป็นผลรวมของ 3 - 6 + 6 เพื่อแก้ปัญหานี้ เราจะทำตา
สมมติว่าเรามี n คนที่แสดงเป็นตัวเลขตั้งแต่ 0 ถึง n - 1 เรายังมีรายชื่อ tuples ของเพื่อนด้วย โดยที่ friends[i][0] และ friends[i][1] เป็นเพื่อนกัน เราต้องตรวจสอบว่าทุกคนมีเพื่อนอย่างน้อยหนึ่งคนหรือไม่ ดังนั้นหากอินพุตเป็นเหมือน n =3 เพื่อน =[ [0, 1], [1, 2] ] ผลลัพธ์จะเป็น True เนื่องจากบุคคลที่ 0 เป
สมมติว่าเรามีตัวเลขอาร์เรย์หนึ่งตัว โดยที่องค์ประกอบทั้งหมดเป็นค่าบวก เราอยู่ที่ดัชนี 0 ในที่นี้ แต่ละองค์ประกอบในอาร์เรย์แสดงถึงความยาวกระโดดสูงสุดของเราที่ตำแหน่งนั้น เป้าหมายของเราคือไปให้ถึงดัชนีสุดท้าย (n-1 โดยที่ n คือขนาดของ nums) โดยมีจำนวนการกระโดดน้อยลง ดังนั้นหากอาร์เรย์เป็นเหมือน [2,3,1,
สมมติว่าเรามีเมทริกซ์ไบนารี เราต้องหาจำนวนเกาะในเมทริกซ์ ในที่นี้ 1 คือดิน และ 0 สำหรับน้ำ ดังนั้นเกาะคือกลุ่ม 1s ที่อยู่ใกล้เคียงและมีน้ำล้อมรอบ เรากำลังพิจารณาว่าเพื่อนบ้านสามารถเป็นแนวนอนหรือแนวตั้งเท่านั้น ไม่ใช่แนวทแยง ดังนั้นหากอินพุตเป็นแบบ 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1
สมมติว่าเรามีสตริง s เราต้องหาจำนวนสตริงย่อยพาลินโดรมใน s ดังนั้น หากอินพุตเป็น s =ระดับ เอาต์พุตจะเป็น 7 เนื่องจากสตริงย่อยพาลินโดรมคือ:[l,e,v,e,l,eve ,ระดับ] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน check_palindrome() นี่จะเป็นสตริง ซ้าย ขวา ตอบ :=0 =0 และขวา <ขนาดของ s ทำ ถ้า
สมมติว่าเรามีสตริง s เราต้องตรวจสอบว่าสตริงย่อยพาลินโดรมทั้งหมดมีความยาวคี่หรือไม่ ดังนั้น หากอินพุตเป็น s =ระดับ ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สำหรับฉันในช่วง 1 ถึงขนาด s ทำ ถ้า s[i] เหมือนกับ s[i - 1] แล้ว คืนค่าเท็จ คืนค่า True ให้เราดูการใช้งานต่อไปนี้เ
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหารายการใหม่ โดยที่แต่ละองค์ประกอบที่ดัชนี i ของรายการที่สร้างขึ้นใหม่เป็นผลคูณของตัวเลขทั้งหมดในรายการเดิม ยกเว้นรายการที่ดัชนี i ที่นี่เราต้องแก้โดยไม่ต้องใช้การหาร ดังนั้น หากอินพุตเป็น nums =[2, 3, 4, 5, 6] ผลลัพธ์จะเป็น [360, 240, 180, 144, 120]
สมมติว่าเรามีสองสาย S และ T เราต้องตรวจสอบว่ามีระยะการแก้ไขหนึ่งหรือศูนย์หรือไม่ การดำเนินการแก้ไขสามารถกำหนดเป็นการลบอักขระ การเพิ่มอักขระ หรือการแทนที่อักขระด้วยอักขระอื่น ดังนั้น หากอินพุตเป็น S =hello, T =hallo ผลลัพธ์จะเป็น True เนื่องจากทั้งสองสตริงมีระยะการแก้ไขเท่ากับ 1 เพื่อแก้ปัญหานี้ เร
สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราสามารถลดความยาวของ nums ได้โดยการเอาตัวเลขสองตัวใดๆ ก็ตาม ลบออกแล้วผนวกผลรวมในตอนท้าย ค่าใช้จ่ายในการดำเนินการนี้คือผลรวมของจำนวนเต็มสองตัวที่เราลบออก เราต้องหาต้นทุนรวมขั้นต่ำของการลดจำนวนลงเหลือหนึ่งจำนวนเต็ม ดังนั้นหากอินพุตเป็นเหมือน nums =[2, 3, 4,
สมมติว่าเรามีรายการตัวเลข 2 มิติที่เรียกว่าช่วง ซึ่งแต่ละแถวแสดงถึงช่วง [เริ่ม สิ้นสุด] (รวม) สำหรับช่วงเวลา [a, b] (a
สมมติว่าเรามีรายการตัวเลข nums เราจะแพ็คองค์ประกอบที่ต่อเนื่องกันของค่าเดียวกันลงในรายการย่อย เราต้องจำไว้ว่ามีเพียงเหตุการณ์เดียวในรายการที่ควรจะยังคงอยู่ในรายการย่อยของตัวเอง ดังนั้น หากอินพุตเป็น nums =[5, 5, 2, 7, 7, 7, 2, 2, 2, 2] ผลลัพธ์จะเป็น [[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]] เพื่อแก้ป
สมมติว่าเรามีตาราง 2D ที่มีสีเป็นสตริง r, g และ b เราต้องดำเนินการเติมน้ำท่วมที่แถว r คอลัมน์ c โดยมีเป้าหมายสี ดังที่เราทราบแล้วว่าการดำเนินการเติมน้ำท่วมควรแทนที่องค์ประกอบทั้งหมดที่เชื่อมต่อกับ grid[r,c] (ขึ้น/ขวา/ลง/ซ้าย) และมีสีเดียวกับ grid[r,c] ด้วยสีเดียวกันกับเป้าหมาย ดังนั้นหากอินพุตเป็นแ