หน้าแรก
หน้าแรก
สมมติว่าเรามีรายการที่เชื่อมโยงโดยลำพัง เราต้องแปลงเป็นเส้นทางต้นไม้ไบนารีโดยใช้กฎต่อไปนี้ - ส่วนหัวของรายการที่เชื่อมโยงคือรูท โหนดที่ตามมาแต่ละโหนดคือโหนดย่อยด้านซ้ายของพาเรนต์เมื่อค่าน้อยกว่า มิฉะนั้นจะเป็นโหนดย่อยที่ถูกต้อง ดังนั้นหากอินพุตเป็น [2,1,3,4,0,5] ผลลัพธ์จะเป็น เพื่อแก้ปัญหานี้
สมมติว่าเรามีรายการลิงก์ที่เรียงลำดับแล้วสองรายการ L1 และ L2 เราต้องส่งคืนรายการที่เชื่อมโยงที่จัดเรียงใหม่ซึ่งเป็นการรวมของสองรายการที่กำหนด ดังนั้น หากอินพุตเป็น L1 =[10,20,30,40,50,60,70] L2 =[10,30,50,80,90] ผลลัพธ์จะเป็น [10, 20, 30, 40, 50, 60, 70, 80, 90, ] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอ
สมมติว่าเรามีสตริงไบนารี s หากเราสามารถสลับอักขระได้ไม่เกินหนึ่งคู่ในสตริง เราต้องหาความยาวที่เป็นผลลัพธ์ของสตริงย่อยที่ยาวที่สุดของ 1 วินาที ดังนั้น หากอินพุตเป็น s =1111011111 เอาต์พุตจะเป็น 9 เนื่องจากเราสามารถสลับ s[4] และ s[9] เพื่อให้ได้ 9 1 วินาทีติดต่อกัน เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอน
1 ทั้งหมด ดังนั้น ถ้าอินพุตเป็น nums =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] ผลลัพธ์จะเป็น 6 ตามที่เราเลือกได้ [1, 2, 3, 5, 8, 13]. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - A :=nums n :=ขนาดของ A maxLen :=0 S :=ชุดใหม่จาก A สำหรับ i ในช่วง 0 ถึง n ให้ทำ สำหรับ j ในช่วง i + 1 ถึง n ทำ
สมมติว่าเรามีรายการของช่วงเวลาที่แต่ละช่วงอยู่ในรูปแบบ [เริ่ม, สิ้นสุด] เราต้องหาช่วงที่ยาวที่สุดที่เราสามารถทำได้โดยการรวมช่วงเวลาที่ทับซ้อนกันจำนวนเท่าใดก็ได้ ดังนั้น หากอินพุตเป็น [[1, 6],[4, 9],[5, 6],[11, 14],[16, 20]] ผลลัพธ์จะเป็น 9 เช่นเดียวกับหลังการรวม เรามีช่วง [1, 9] ของความยาว 9 เพื่อ
สมมติว่าเรามีรายการของตัวเลขที่เรียกว่า nums เราต้องหาความยาวของลำดับรองที่ยาวที่สุดที่พลิกเครื่องหมายบนแต่ละหมายเลขที่ต่อเนื่องกัน ดังนั้น หากอินพุตเป็น nums =[1, 3, -6, 4, -3] ผลลัพธ์จะเป็น 4 ตามที่เราเลือก [1, -6, 4, -3] ได้ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ตำแหน่ง :=0, ไม่ติด :=0
สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราต้องหาความยาวของรายการย่อยที่ยาวที่สุด ซึ่ง (ความยาวขั้นต่ำ 3) ค่าของรายการนั้นเพิ่มขึ้นอย่างเคร่งครัดแล้วจึงลดลง ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[7, 1, 3, 5, 2, 0] เอาต์พุตจะเป็น 5 เนื่องจากรายการย่อยคือ [2, 4, 6, 3, 1] เพิ่มขึ้นอย่างเคร่งครัดแล้วล
สมมติว่าเรามีรายการไบนารี ดังนั้นที่นี่มีเพียง 1 และ 0 เท่านั้นที่มีและเรายังมีตัวเลข k อีกตัว เราสามารถตั้งค่าได้มากที่สุด k 0s ถึง 1s เราต้องหาความยาวของรายการย่อยที่ยาวที่สุดที่มี 1s ทั้งหมด ดังนั้น หากอินพุตเป็น nums =[0, 1, 1, 0, 0, 1, 1] k =2 ผลลัพธ์จะเป็น 6 เนื่องจากเราสามารถตั้งค่า 0s ตรงกล
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และอีกค่าหนึ่งคือ k เราต้องหาความยาวของรายการย่อยที่ยาวที่สุดโดยที่ความแตกต่างที่แน่นอนระหว่างองค์ประกอบที่ใหญ่ที่สุดและน้อยที่สุดคือ ≤ k ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2, 4, 6, 10] k =4 ผลลัพธ์จะเป็น 3 เนื่องจากเราสามารถเลือกเลือก [2, 4, 6] ได้ ความแ
สมมติว่าเรามีสตริงที่จัดเรียงอักขระแต่ละตัวและเรายังมีตัวเลข k เราต้องหาความยาวของสตริงย่อยที่ยาวที่สุดเพื่อให้อักขระทุกตัวเกิดขึ้นอย่างน้อย k ครั้ง ดังนั้น หากอินพุตเป็น s =aabccddeeffghij k =2 เอาต์พุตจะเป็น 8 เนื่องจากสตริงย่อยที่ยาวที่สุดที่นี่คือ ccddeeff ที่นี่ทุกอักขระเกิดขึ้นอย่างน้อย 2 ครั
สมมติว่าเรามีตัวเลข n เราต้องสร้างพจน์ที่ n ในลำดับ Look and Say นี่คือลำดับที่มีคำศัพท์ไม่กี่คำด้านล่าง - 1 11 21 1211 111221 สตริงจะถูกอ่านเช่น 1 (หนึ่ง) 11 (หนึ่ง 1) อ่าน 1 ก่อนหน้าแล้วพูดว่า หนึ่ง 1 21 (สอง 1) ดังนั้น อ่าน 11 ก่อนหน้าแล้วพูดว่า สอง 1 1211 (หนึ่ง 2 ต่อ 1) อ่าน 21 อันที่แล้วแล
ให้แสดงรายการจำนวนเต็มที่ซ้อนกัน ให้ส่งคืนผลรวมของจำนวนเต็มทั้งหมดในรายการที่ถ่วงน้ำหนักตามความลึก แต่ละองค์ประกอบอาจเป็นจำนวนเต็มหรือรายการ ซึ่งองค์ประกอบอาจเป็นจำนวนเต็มหรือรายการอื่นๆ ด้วย ต่างจากคำถามก่อนหน้านี้ที่น้ำหนักเพิ่มขึ้นจากรากสู่ใบ ตอนนี้น้ำหนักถูกกำหนดจากล่างขึ้นบน กล่าวคือ จำนวนเต็มร
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และค่าเป้าหมายอื่น เราต้องหาผลรวมต่ำสุดของคู่ตัวเลขที่มากกว่าเป้าหมาย ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2, 4, 6, 10, 14] target =10 ผลลัพธ์จะเป็น 12 ในขณะที่เราเลือก 2 และ 10 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เรียงเลขรายการ n :=ขนาดของ nums
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ที่มีค่า n ซึ่งแต่ละหมายเลขแสดงถึงการลงคะแนนให้กับผู้สมัคร เราต้องหารหัสของผู้สมัครที่มีคะแนนเสียงมากกว่าชั้น (n/2) และหากไม่มีคะแนนเสียงข้างมากให้ส่งคืน -1 ดังนั้น หากอินพุตเป็น nums =[6, 6, 2, 2, 3, 3, 3, 3, 3] ผลลัพธ์จะเป็น 3 เพื่อแก้ปัญหานี้ เราจะทำตาม
สมมติว่าเรามีรายการเหรียญและมูลค่าอีกจำนวนหนึ่ง เราต้องหาจำนวนชุดค่าผสมที่มียอดรวมนั้น หากคำตอบมีขนาดใหญ่มาก ให้แก้ไขผลลัพธ์ด้วย 10^9 + 7 ดังนั้น หากการป้อนเป็นเหมือนเหรียญ =[2, 5] จำนวน =10 ผลลัพธ์จะเป็น 2 เนื่องจากเราสามารถสร้างชุดค่าผสมเหล่านี้ − [2, 2, 2, 2, 2], [5, 5] เพื่อแก้ปัญหานี้ เราจะทำ
สมมติว่าเรามีเมทริกซ์ไบนารี เราต้องหาเมทริกซ์เดียวกัน แต่ค่าของแต่ละเซลล์จะเท่ากับระยะทางแมนฮัตตันจาก 0 ที่ใกล้ที่สุด เราสามารถสมมติได้ว่าเมทริกซ์มี 0 อย่างน้อยหนึ่งตัว ดังนั้นหากอินพุตเป็นแบบ 1 0 1 1 0 1 1 1 0 แล้วผลลัพธ์ที่ได้จะเป็น 1 0 1 1 0 1 2 1 0 เนื่องจากมีเพียงเซลล์ด้านล่างซ้ายเ
สมมติว่าเรามีเมทริกซ์ 2 มิติ โดยที่แต่ละแถวและคอลัมน์เรียงตามลำดับที่ไม่ลดลง เราต้องหาจำนวนที่น้อยที่สุดที่ n ดังนั้นหากอินพุตเป็นแบบ 2 4 30 3 4 31 6 6 32 และ n =4 ผลลัพธ์จะเป็น 6 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - lst :=รายการใหม่ สำหรับแต่ละแถว i ในเมทริกซ์ ทำ สำหรับแต่ละเซลล์ j
สมมติว่าเรามีเมทริกซ์ 2 มิติ โดยที่แต่ละแถวและคอลัมน์ถูกจัดเรียงตามลำดับที่ไม่ลดลง เราต้องตรวจสอบว่าเป้าหมายที่ระบุอยู่ภายในนั้นหรือไม่ ดังนั้นหากอินพุตเป็นแบบ 2 4 30 3 4 31 6 6 32 และเป้าหมาย =31 แล้วผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - col :=ขนาดคอลัมน์ของเมทริก
สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums ให้เราพิจารณาการดำเนินการที่เราสามารถเลือกตัวเลขได้ จากนั้นจึงลบออก และเพิ่มคะแนนของเราด้วยผลรวมของตัวเลขและตัวเลขสองตัวที่อยู่ติดกัน หากเราสามารถดำเนินการนี้กี่ครั้งก็ได้ตราบเท่าที่เราไม่เลือกตัวเลขตัวแรกหรือตัวสุดท้ายในรายการ เราต้องหาคะแนนให้ได้มากที่สุด
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และอีกค่าหนึ่งคือ k เราต้องหาผลรวมสูงสุดขององค์ประกอบที่เราสามารถลบได้ เนื่องจากเราต้องป๊อปทุก k ครั้ง โดยที่แต่ละป๊อปสามารถมาจากปลายด้านซ้ายหรือด้านขวา ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2, 4, 5, 3, 1] k =2 ผลลัพธ์จะเป็น 6 เนื่องจากเราสามารถลบ 2 และ 4 ได