คำถามสัมภาษณ์ Citadel

คำถามสัมภาษณ์การออกแบบระบบ อาจเป็นเรื่องเปิดกว้างจนยากเกินไปที่จะรู้วิธีเตรียมตัวที่ถูกต้อง ตอนนี้ฉันสามารถแตกรอบการออกแบบของ Amazon, Microsoft และ Adobe หลังจากซื้อ หนังสือเล่มนี้. ทบทวนทุกวัน คำถามการออกแบบ และฉันสัญญาว่าคุณจะสามารถทำลายการออกแบบได้

บทสัมภาษณ์การออกแบบระบบแคร็ก

คำถาม Citadel Array

คำถามที่ 1. แทรก ลบ GetRandom O(1) Leetcode Solution คำชี้แจงปัญหา The Insert Delete GetRandom O(1) LeetCode Solution – “Insert Delete GetRandom O(1)” ขอให้คุณนำฟังก์ชันทั้งสี่นี้ไปใช้ในความซับซ้อนของเวลา O(1) insert(val): ใส่ค่า val ลงในชุดสุ่มและคืนค่า จริง หากองค์ประกอบนั้นไม่มีอยู่ในชุดในตอนแรก มันคืนค่าเท็จเมื่อ ...

อ่านเพิ่มเติม

คำถามที่ 2. ดักจับน้ำฝน Leetcode Solution คำชี้แจงปัญหา The Trapping Rain Water LeetCode Solution – “trapping Rain Water” ระบุว่ามีอาร์เรย์ของความสูงซึ่งแสดงถึงแผนที่ระดับความสูงที่ความกว้างของแต่ละแถบคือ 1 เราจำเป็นต้องค้นหาปริมาณน้ำที่ขังอยู่หลังฝนตก ตัวอย่าง: อินพุต: ความสูง = [0,1,0,2,1,0,1,3,2,1,2,1] เอาต์พุต: 6 คำอธิบาย: ตรวจสอบ ...

อ่านเพิ่มเติม

คำถามที่ 3. Coin Change 2 Leetcode โซลูชั่น คำชี้แจงปัญหา The Coin Change 2 LeetCode Solution – “Coin Change 2” ระบุว่าให้อาร์เรย์ของเหรียญจำนวนเต็มที่แตกต่างกันและจำนวนจำนวนเต็ม ซึ่งแสดงถึงจำนวนเงินทั้งหมด เราจำเป็นต้องคืนค่าจำนวนรวมของชุดค่าผสมต่างๆ ที่เป็นไปได้ซึ่งรวมเป็นจำนวนเงิน ...

อ่านเพิ่มเติม

คำถามที่ 4. จำนวนคู่ดัชนีที่มีองค์ประกอบเท่ากันในอาร์เรย์ สมมติว่าเราให้อาร์เรย์จำนวนเต็ม ปัญหา“ การนับคู่ดัชนีที่มีองค์ประกอบเท่ากันในอาร์เรย์” ขอให้ค้นหาว่าไม่มีคู่ของดัชนี (i, j) ในลักษณะที่ arr [i] = arr [j] และ i ไม่เท่ากับ j . ตัวอย่าง arr [] = {2,3,1,2,3,1,4} 3 คำอธิบายคู่ ...

อ่านเพิ่มเติม

คำถามที่ 5. subarray ที่ยาวที่สุดที่ไม่มีองค์ประกอบที่แตกต่างกันมากกว่า K ปัญหา“ subarray ที่ยาวที่สุดที่ไม่มีองค์ประกอบที่แตกต่างกันมากกว่า K” ระบุว่าสมมติว่าคุณมีอาร์เรย์ของจำนวนเต็มคำสั่งปัญหาจะขอให้ค้นหาอาร์เรย์ย่อยที่ยาวที่สุดที่มีองค์ประกอบต่างกันไม่เกิน k ตัวอย่าง arr [] = {4, 3, 5, 2, 1, 2, 0, 4, 5} ...

อ่านเพิ่มเติม

คำถามที่ 6. การดำเนินการขั้นต่ำเพื่อทำให้องค์ประกอบทั้งหมดเท่ากันในอาร์เรย์ ปัญหา“ การดำเนินการขั้นต่ำเพื่อทำให้องค์ประกอบทั้งหมดเท่ากันในอาร์เรย์” ระบุว่าคุณได้รับอาร์เรย์ที่มีจำนวนเต็มอยู่ คุณต้องหาการดำเนินการขั้นต่ำที่สามารถทำได้เพื่อทำให้อาร์เรย์เท่ากัน ตัวอย่าง [1,3,2,4,1] 3 คำอธิบายการลบ 3 อย่างก็ได้ ...

อ่านเพิ่มเติม

คำถามที่ 7. ความแตกต่างระหว่างความถี่สูงสุดและความถี่ต่ำสุดในอาร์เรย์ ปัญหา“ ความแตกต่างระหว่างความถี่สูงสุดและความถี่ต่ำสุดในอาร์เรย์” ระบุว่าสมมติว่าคุณมีอาร์เรย์จำนวนเต็ม คำชี้แจงปัญหาขอให้ค้นหาความแตกต่างสูงสุดระหว่างความถี่สูงสุดและความถี่ต่ำสุดของตัวเลขสองตัวที่แตกต่างกันในอาร์เรย์ ตัวอย่าง arr [] = {1, 2, 3, ...

อ่านเพิ่มเติม

คำถามที่ 8. องค์ประกอบที่ขาดหายไป k-th ในลำดับที่เพิ่มขึ้นซึ่งไม่มีอยู่ในลำดับที่กำหนด ปัญหา“ องค์ประกอบที่ขาดหายไปในลำดับที่เพิ่มขึ้นซึ่งไม่มีอยู่ในลำดับที่กำหนด” ระบุว่าคุณได้รับสองอาร์เรย์ หนึ่งในนั้นเรียงลำดับจากน้อยไปมากและอาร์เรย์ปกติที่ไม่เรียงลำดับอีกอันที่มีหมายเลข k ค้นหาองค์ประกอบที่ขาดหายไป kth ซึ่งไม่มีอยู่ตามปกติ ...

อ่านเพิ่มเติม

คำถามที่ 9. ตรวจสอบว่าอาร์เรย์ที่ระบุมีองค์ประกอบที่ซ้ำกันภายในระยะ k จากกันหรือไม่ ปัญหา "ตรวจสอบว่าอาร์เรย์ที่ระบุมีองค์ประกอบที่ซ้ำกันภายในระยะ k จากกันหรือไม่" ระบุว่าเราต้องตรวจสอบรายการที่ซ้ำกันในอาร์เรย์ที่ไม่ได้เรียงลำดับที่กำหนดภายในช่วง k ที่นี่ค่าของ k มีขนาดเล็กกว่าอาร์เรย์ที่กำหนด ตัวอย่าง K = 3 arr [] = ...

อ่านเพิ่มเติม

คำถามที่ 10. ค้นหาคู่ทั้งหมด (a, b) ในอาร์เรย์เพื่อให้ a% b = k คำชี้แจงปัญหาปัญหา“ ค้นหาคู่ทั้งหมด (a, b) ในอาร์เรย์เช่นที่% b = k” ระบุว่าคุณได้รับอาร์เรย์ของจำนวนเต็มและค่าจำนวนเต็มที่เรียกว่า k คำสั่งปัญหาขอให้หาคู่ในลักษณะที่ x ...

อ่านเพิ่มเติม

คำถามที่ 11. ข้อความค้นหาเกี่ยวกับ XOR ของตัวหารคี่ที่ยิ่งใหญ่ที่สุดของช่วง คำชี้แจงปัญหาปัญหา“ การสืบค้นบน XOR ของตัวหารคี่ที่ยิ่งใหญ่ที่สุดของช่วง” ระบุว่าคุณได้รับอาร์เรย์ของจำนวนเต็มและแบบสอบถาม q แต่ละแบบสอบถามประกอบด้วยช่วง คำชี้แจงปัญหาขอให้ค้นหา XOR ของตัวหารคี่ที่ยิ่งใหญ่ที่สุดภายในช่วงที่กำหนด ...

อ่านเพิ่มเติม

คำถามที่ 12. การแบ่งอาร์เรย์สามวิธีรอบ ๆ ช่วงที่กำหนด คำชี้แจงปัญหาคุณจะได้รับอาร์เรย์ของจำนวนเต็มและช่วงของ lowValue และ highValue ปัญหา“ การแบ่งอาร์เรย์สามทางในช่วงที่กำหนด” ขอให้แบ่งพาร์ติชันอาร์เรย์เพื่อให้อาร์เรย์แบ่งออกเป็นสามส่วน พาร์ติชันของอาร์เรย์จะเป็น: องค์ประกอบ ...

อ่านเพิ่มเติม

คำถามที่ 13. แทนที่ค่าที่เท่ากันสองค่าติดกันด้วยค่าหนึ่งที่มากกว่า คำชี้แจงปัญหาสมมติว่าคุณมีอาร์เรย์จำนวนเต็ม ปัญหา“ แทนที่ค่าที่เท่ากันสองค่าติดต่อกันด้วยค่าที่มากกว่าหนึ่ง” ขอให้แทนที่ค่าคู่ทั้งหมดเหล่านั้นพูดว่า 'a' ซึ่งมาตามลำดับด้วยตัวเลข "a + 1" 1 ที่มากกว่าค่านั้น (ตัวเลขสองค่าติดกัน) ซึ่งแม้จะมีการแก้ไขแล้ว หรือการทำซ้ำที่นั่น ...

อ่านเพิ่มเติม

คำถามที่ 14. ค้นหาลำดับต่อมาของขนาด 3 ในเวลาเชิงเส้น คำชี้แจงปัญหาปัญหา“ ค้นหาลำดับต่อมาของขนาด 3 ในเวลาเชิงเส้น” ระบุว่าคุณมีอาร์เรย์จำนวนเต็ม คำสั่งปัญหาขอให้ค้นหาตัวเลขสามตัวในลักษณะที่อาร์เรย์ [i] <array [k] <array [k] และ i <j <k ตัวอย่าง arr [] ...

อ่านเพิ่มเติม

คำถามที่ 15. จัดเรียงอาร์เรย์ใหม่ตามลำดับ - เล็กที่สุดใหญ่สุดอันดับ 2 เล็กสุดอันดับ 2 คำชี้แจงปัญหาสมมติว่าคุณมีอาร์เรย์จำนวนเต็ม ปัญหา“ จัดเรียงอาร์เรย์ใหม่ตามลำดับ - เล็กที่สุดใหญ่ที่สุดอันดับ 2 เล็กที่สุดอันดับ 2 .. ” ขอให้จัดเรียงอาร์เรย์ใหม่ในลักษณะที่จำนวนที่น้อยที่สุดมาก่อนแล้วจึงเป็นจำนวนที่มากที่สุดจากนั้นจึงมีขนาดเล็กที่สุดเป็นอันดับสองและอันดับที่สอง ...

อ่านเพิ่มเติม

คำถามที่ 16. นับคู่จากอาร์เรย์ที่เรียงลำดับสองอาร์เรย์ซึ่งผลรวมเท่ากับค่าที่กำหนด x คำชี้แจงปัญหา“ นับคู่จากอาร์เรย์ที่เรียงลำดับสองอาร์เรย์ซึ่งผลรวมเท่ากับค่าที่กำหนด x ปัญหาระบุว่าคุณได้รับอาร์เรย์จำนวนเต็มสองอาร์เรย์และค่าจำนวนเต็มที่เรียกว่าผลรวม คำสั่งปัญหาขอให้ค้นหาจำนวนคู่ทั้งหมดที่รวมกันได้ถึง ...

อ่านเพิ่มเติม

คำถามที่ 17. การพิมพ์วงเล็บในปัญหาการคูณเมทริกซ์ คำชี้แจงปัญหาเราจำเป็นต้องค้นหาลำดับของการคูณของเมทริกซ์เพื่อที่จะลดจำนวนการดำเนินการที่เกี่ยวข้องกับการคูณของเมทริกซ์ทั้งหมด จากนั้นเราต้องพิมพ์คำสั่งนี้เช่นการพิมพ์วงเล็บในปัญหาการคูณลูกโซ่เมทริกซ์ พิจารณาว่าคุณมีเมทริกซ์ 3 ตัว A, B, ...

อ่านเพิ่มเติม

คำถามที่ 18. แทรกลบ GetRandom ในปัญหาแทรกลบ GetRandom เราจำเป็นต้องออกแบบโครงสร้างข้อมูลที่รองรับการดำเนินการต่อไปนี้ทั้งหมดในเวลา O (1) โดยเฉลี่ย แทรก (val): แทรกค่ารายการไปยังชุดหากยังไม่มีอยู่ remove (val): ลบ item val ออกจาก set ถ้ามี getRandom: ส่งคืนองค์ประกอบแบบสุ่มจากชุดปัจจุบัน ...

อ่านเพิ่มเติม

คำถามที่ 19. การเพิ่มผลที่ตามมาของความยาวที่สามด้วยผลิตภัณฑ์สูงสุด คำชี้แจงปัญหาในปัญหา“ การเพิ่มผลที่ตามมาของความยาวที่สามด้วยผลิตภัณฑ์สูงสุด” เราได้ให้จำนวนเต็มบวกจำนวนหนึ่ง ค้นหาลำดับต่อมาของความยาว 3 พร้อมผลิตภัณฑ์สูงสุด ผลที่ตามมาควรจะเพิ่มขึ้น รูปแบบการป้อนข้อมูลบรรทัดแรกและบรรทัดเดียวที่มีจำนวนเต็ม N แสดงถึงขนาด ...

อ่านเพิ่มเติม

คำถามที่ 20. ค้นหาจำนวนการทำซ้ำสูงสุดในอาร์เรย์ คำชี้แจงปัญหาในปัญหา“ ค้นหาจำนวนการทำซ้ำสูงสุดในอาร์เรย์” เราได้กำหนดอาร์เรย์ขนาด N ที่ไม่ได้เรียงลำดับอาร์เรย์ที่ระบุมีตัวเลขในช่วง {0, k} โดยที่ k <= N ค้นหาตัวเลขที่มาเป็นจำนวนสูงสุด จำนวนครั้งในอาร์เรย์ รูปแบบการป้อนข้อมูล ...

อ่านเพิ่มเติม

คำถามที่ 21. จำนวนสามเท่าที่มีผลรวมน้อยกว่ามูลค่าที่ระบุ คำชี้แจงปัญหาเราได้ให้อาร์เรย์ที่มีองค์ประกอบ N จำนวน ในอาร์เรย์ที่กำหนดให้นับจำนวนแฝดที่มีผลรวมน้อยกว่าค่าที่กำหนด ตัวอย่างอินพุต a [] = {1, 2, 3, 4, 5, 6, 7, 8} ผลรวม = 10 เอาท์พุท 7 สามที่เป็นไปได้คือ: ...

อ่านเพิ่มเติม

คำถามที่ 22. ค้นหา Triplet ในอาร์เรย์ด้วยผลรวมที่กำหนด คำชี้แจงปัญหาด้วยอาร์เรย์ของจำนวนเต็มค้นหาการรวมกันของสามองค์ประกอบในอาร์เรย์ซึ่งผลรวมเท่ากับค่า X ที่กำหนดที่นี่เราจะพิมพ์ชุดค่าผสมแรกที่เราได้รับ หากไม่มีชุดค่าผสมดังกล่าวให้พิมพ์ -1 ตัวอย่างอินพุต N = 5, X = 15 arr [] = ...

อ่านเพิ่มเติม

คำถามที่ 23. องค์ประกอบที่ทำซ้ำครั้งแรก คำชี้แจงปัญหาเราได้ให้อาร์เรย์ที่มีจำนวนเต็ม n เราต้องหาองค์ประกอบที่ทำซ้ำครั้งแรกในอาร์เรย์ที่กำหนด หากไม่มีองค์ประกอบซ้ำให้พิมพ์ "ไม่พบจำนวนเต็มซ้ำ" หมายเหตุ: องค์ประกอบที่ทำซ้ำคือองค์ประกอบที่มามากกว่าหนึ่งครั้ง (อาร์เรย์อาจมีรายการที่ซ้ำกัน) ...

อ่านเพิ่มเติม

คำถามที่ 24. ปริศนาอาร์เรย์ผลิตภัณฑ์ คำชี้แจงปัญหาในปัญหาปริศนาอาร์เรย์ผลิตภัณฑ์เราจำเป็นต้องสร้างอาร์เรย์โดยที่องค์ประกอบ ith จะเป็นผลคูณขององค์ประกอบทั้งหมดในอาร์เรย์ที่กำหนดยกเว้นองค์ประกอบที่ตำแหน่ง ith ตัวอย่างอินพุต 5 10 3 5 6 2 เอาต์พุต 180 ...

อ่านเพิ่มเติม

คำถามที่ 25. ค้นหาหมายเลขซ้ำแรกในอาร์เรย์ที่กำหนด คำชี้แจงปัญหาสามารถมีตัวเลขที่ซ้ำกันได้หลายตัวในอาร์เรย์ แต่คุณต้องหาตัวเลขที่เกิดซ้ำครั้งแรกในอาร์เรย์ที่กำหนด (เกิดขึ้นในครั้งที่สอง) ตัวอย่างอินพุต 12 5 4 2 8 9 7 12 5 6 12 4 7 เอาต์พุต 5 เป็นองค์ประกอบที่ทำซ้ำครั้งแรก ...

อ่านเพิ่มเติม

คำถามเกี่ยวกับป้อมปราการ

คำถามที่ 26. วิธีต่างๆ ในการเพิ่มวงเล็บ Leetcode Solution คำชี้แจงปัญหา วิธีต่างๆ ในการเพิ่มวงเล็บ โซลูชัน LeetCode – "วิธีต่างๆ ในการเพิ่มวงเล็บ" ระบุว่าให้นิพจน์สตริงของตัวเลขและตัวดำเนินการ เราจำเป็นต้องส่งคืนผลลัพธ์ที่เป็นไปได้ทั้งหมดจากการคำนวณวิธีต่างๆ ที่เป็นไปได้ทั้งหมดเพื่อจัดกลุ่มตัวเลขและตัวดำเนินการ ส่งคืนคำตอบในลำดับใดก็ได้ ...

อ่านเพิ่มเติม

คำถามที่ 27. ตรวจสอบว่าแถวทั้งหมดของเมทริกซ์เป็นแบบวงกลมของกันและกันหรือไม่ คำชี้แจงปัญหาในโจทย์“ ตรวจสอบว่าแถวทั้งหมดของเมทริกซ์เป็นแบบวงกลมของกันและกันหรือไม่” เราได้ให้เมทริกซ์ถ่านเขียนโปรแกรมเพื่อค้นหาว่าแถวทั้งหมดมีการหมุนแบบวงกลมซึ่งกันและกันหรือไม่ หากแถวทั้งหมดเป็นการพิมพ์แบบวงกลมซึ่งกันและกัน ...

อ่านเพิ่มเติม

คำถามที่ 28. ความยาวของสตริงย่อยที่ยาวที่สุดที่ถูกต้อง คำชี้แจงปัญหาใน“ ความยาวของสตริงย่อยที่ยาวที่สุดที่ถูกต้อง” เราได้กำหนดสตริงที่มีวงเล็บเปิดและปิดเท่านั้น เขียนโปรแกรมที่จะค้นหาสตริงย่อยในวงเล็บที่ยาวที่สุด รูปแบบการป้อนข้อมูลบรรทัดแรกและบรรทัดเดียวที่มีสตริง s รูปแบบผลลัพธ์แรกและ ...

อ่านเพิ่มเติม

คำถามเกี่ยวกับ Citadel Tree

คำถามที่ 29. สร้างไบนารีทรีจากการสั่งซื้อล่วงหน้าและการสั่งซื้อล่วงหน้า ในปัญหานี้เรามีการเรียงลำดับและการสั่งซื้อล่วงหน้าของต้นไม้ไบนารี เราจำเป็นต้องสร้างต้นไม้ไบนารีจาก Inorder และ Preorder traversals ที่กำหนด ตัวอย่าง Input: Inorder = [D, B, E, A, F, C] Preorder = [A, B, D, E, C, F] Output: การส่งผ่านคำสั่งซื้อล่วงหน้าของต้นไม้ที่เกิดจาก ...

อ่านเพิ่มเติม

คำถามที่ 30. ตรวจสอบโครงสร้างการค้นหาแบบไบนารี ปัญหาในการตรวจสอบปัญหา Binary Search Tree ที่เราให้รากของต้นไม้เราต้องตรวจสอบว่าเป็นต้นไม้ค้นหาแบบไบนารีหรือไม่ ตัวอย่าง: ผลลัพธ์: true คำอธิบาย: ต้นไม้ที่กำหนดเป็นต้นไม้ค้นหาแบบทวิภาคเนื่องจากองค์ประกอบทั้งหมดที่เหลืออยู่ในแต่ละทรีย่อย ...

อ่านเพิ่มเติม

คำถาม Citadel Stack

คำถามที่ 31. ดักจับน้ำฝน Leetcode Solution คำชี้แจงปัญหา The Trapping Rain Water LeetCode Solution – “trapping Rain Water” ระบุว่ามีอาร์เรย์ของความสูงซึ่งแสดงถึงแผนที่ระดับความสูงที่ความกว้างของแต่ละแถบคือ 1 เราจำเป็นต้องค้นหาปริมาณน้ำที่ขังอยู่หลังฝนตก ตัวอย่าง: อินพุต: ความสูง = [0,1,0,2,1,0,1,3,2,1,2,1] เอาต์พุต: 6 คำอธิบาย: ตรวจสอบ ...

อ่านเพิ่มเติม

คำถามคิวป้อมปราการ

คำถามที่ 32. ลำดับความสำคัญโดยใช้รายการที่เชื่อมโยงแบบทวีคูณ คำชี้แจงปัญหาปัญหา“ ลำดับความสำคัญคิวโดยใช้รายการที่เชื่อมโยงแบบทวีคูณ” ขอให้ใช้ฟังก์ชันต่อไปนี้ของลำดับความสำคัญโดยใช้รายการที่เชื่อมโยงแบบทวีคูณ push (x, p): จัดคิวองค์ประกอบ x ด้วยลำดับความสำคัญ p ในลำดับความสำคัญในตำแหน่งที่เหมาะสม pop (): ลบและส่งคืนองค์ประกอบที่มีลำดับความสำคัญสูงสุด ...

อ่านเพิ่มเติม

คำถาม Citadel Matrix

คำถามที่ 33. การพิมพ์วงเล็บในปัญหาการคูณเมทริกซ์ คำชี้แจงปัญหาเราจำเป็นต้องค้นหาลำดับของการคูณของเมทริกซ์เพื่อที่จะลดจำนวนการดำเนินการที่เกี่ยวข้องกับการคูณของเมทริกซ์ทั้งหมด จากนั้นเราต้องพิมพ์คำสั่งนี้เช่นการพิมพ์วงเล็บในปัญหาการคูณลูกโซ่เมทริกซ์ พิจารณาว่าคุณมีเมทริกซ์ 3 ตัว A, B, ...

อ่านเพิ่มเติม

คำถามที่ 34. ตรวจสอบว่าแถวทั้งหมดของเมทริกซ์เป็นแบบวงกลมของกันและกันหรือไม่ คำชี้แจงปัญหาในโจทย์“ ตรวจสอบว่าแถวทั้งหมดของเมทริกซ์เป็นแบบวงกลมของกันและกันหรือไม่” เราได้ให้เมทริกซ์ถ่านเขียนโปรแกรมเพื่อค้นหาว่าแถวทั้งหมดมีการหมุนแบบวงกลมซึ่งกันและกันหรือไม่ หากแถวทั้งหมดเป็นการพิมพ์แบบวงกลมซึ่งกันและกัน ...

อ่านเพิ่มเติม

Citadel คำถามอื่น ๆ

คำถามที่ 35. LRU Cache Leetcode Solution คำชี้แจงปัญหา แคช LRU โซลูชัน LeetCode – “แคช LRU” ขอให้คุณออกแบบโครงสร้างข้อมูลตามแคชที่ใช้ล่าสุด (LRU) น้อยที่สุด เราจำเป็นต้องใช้คลาส LRUCache ที่มีฟังก์ชันต่อไปนี้: LRUCache(ความจุ int): เตรียมใช้งานแคช LRU ด้วยความจุขนาดบวก int get(int key): คืนค่า ...

อ่านเพิ่มเติม

คำถามที่ 36. ประเมินการย้อนกลับของสัญกรณ์โปแลนด์ LeetCode Solution คำชี้แจงปัญหา ประเมินการย้อนกลับของสัญกรณ์โปแลนด์ โซลูชัน LeetCode – ประเมินค่าของนิพจน์ทางคณิตศาสตร์ใน Reverse Polish Notation ตัวดำเนินการที่ถูกต้องคือ +, -, * และ / ตัวถูกดำเนินการแต่ละตัวอาจเป็นจำนวนเต็มหรือนิพจน์อื่น โปรดทราบว่าการหารระหว่างจำนวนเต็มสองจำนวนควรตัดให้เหลือศูนย์ รับรองได้เลยว่า...

อ่านเพิ่มเติม

คำถามที่ 37. ที่เก็บคีย์-ค่าตามเวลา LeetCode Solution คำชี้แจงปัญหา ที่เก็บคีย์-ค่าตามเวลา โซลูชัน LeetCode – ออกแบบโครงสร้างข้อมูลคีย์-ค่าตามเวลาที่สามารถจัดเก็บค่าได้หลายค่าสำหรับคีย์เดียวกันในเวลาที่ต่างกัน และดึงค่าของคีย์ในเวลาที่ประทับที่แน่นอน ใช้คลาส TimeMap: TimeMap() เริ่มต้นวัตถุของโครงสร้างข้อมูล ชุดโมฆะ (คีย์สตริง, สตริง ...

อ่านเพิ่มเติม

คำถามที่ 38. ค้นหาค่ามัธยฐานจากสตรีมข้อมูล LeetCode Solution คำชี้แจงปัญหา ค้นหาค่ามัธยฐานจากสตรีมข้อมูล โซลูชัน LeetCode – ค่ามัธยฐานคือค่ากลางในรายการจำนวนเต็มที่จัดลำดับ ถ้าขนาดของรายการเป็นเลขคู่ จะไม่มีค่ากลางและค่ามัธยฐานคือค่าเฉลี่ยของค่ากลางทั้งสองค่า ตัวอย่างเช่น สำหรับ arr = [2,3,4] ค่ามัธยฐาน ...

อ่านเพิ่มเติม

คำถามที่ 39. การชนกันของดาวเคราะห์น้อย LeetCode Solution คำชี้แจงปัญหา การชนกันของดาวเคราะห์น้อย โซลูชัน LeetCode - เราได้รับดาวเคราะห์น้อยอาร์เรย์ของจำนวนเต็มซึ่งเป็นตัวแทนของดาวเคราะห์น้อยในแถว สำหรับดาวเคราะห์น้อยแต่ละดวง ค่าสัมบูรณ์แสดงถึงขนาดของมัน และเครื่องหมายแสดงถึงทิศทางของมัน (ความหมายเชิงบวก ด้านขวา ความหมายเชิงลบ ด้านซ้าย) ดาวเคราะห์น้อยแต่ละดวงเคลื่อนที่ด้วยความเร็วเท่ากัน ค้นหาสถานะ ...

อ่านเพิ่มเติม

คำถามที่ 40. ทำให้เป็นอันดับและดีซีเรียลไลซ์ Binary Tree LeetCode Solution คำชี้แจงปัญหาทำให้เป็นอนุกรมและดีซีเรียลไลซ์โซลูชัน Binary Tree LeetCode – การทำให้เป็นอนุกรมเป็นกระบวนการของการแปลงโครงสร้างข้อมูลหรืออ็อบเจ็กต์เป็นลำดับของบิต เพื่อให้สามารถเก็บไว้ในไฟล์หรือบัฟเฟอร์หน่วยความจำ หรือส่งผ่านลิงก์การเชื่อมต่อเครือข่ายเพื่อสร้างใหม่ในภายหลัง ใน ...

อ่านเพิ่มเติม

คำถามที่ 41. ผลิตภัณฑ์ของ Array ยกเว้น Self LeetCode Solution คำชี้แจงปัญหา Product of Array ยกเว้น Self LeetCode Solution – เมื่อให้ค่า integer array nums ให้คืนค่า array ที่คำตอบ [i] เท่ากับผลคูณขององค์ประกอบทั้งหมดของ nums ยกเว้น nums[i] ผลิตภัณฑ์ของคำนำหน้าหรือส่วนต่อท้ายของ nums รับประกันว่าจะพอดีกับจำนวนเต็ม 32 บิต คุณต้องเขียนอัลกอริทึมที่ทำงานในเวลา O(n) และไม่ใช้การหาร ...

อ่านเพิ่มเติม

คำถามที่ 42. Kth องค์ประกอบที่เล็กที่สุดในโซลูชัน BST Leetcode คำชี้แจงปัญหา Kth องค์ประกอบที่เล็กที่สุดในโซลูชัน BST Leetcode – ให้รากของทรีการค้นหาแบบไบนารีและจำนวนเต็ม k ส่งคืนค่าที่น้อยที่สุดที่ kth (ดัชนี 1 รายการ) ของค่าทั้งหมดของโหนดในทรี ตัวอย่าง: อินพุต: รูท = [3,1,4,null,2], k = 1 เอาต์พุต: 1 อินพุต: รูท = [5,3,6,2,4,null,null,1], k ...

อ่านเพิ่มเติม

คำถามที่ 43. น่าเกลียดหมายเลข II LeetCode โซลูชั่น ปัญหาคำชี้แจง Ugly Number II โซลูชัน LeetCode – จำนวนที่น่าเกลียดเป็นจำนวนเต็มบวกที่มีตัวประกอบเฉพาะที่จำกัดที่ 2, 3 และ 5 เมื่อกำหนดเป็นจำนวนเต็ม n ให้คืนค่าตัวเลขที่น่าเกลียดที่ n อินพุต: n = 10 เอาต์พุต: 12 คำอธิบาย: [1, 2, 3, 4, 5, 6, 8, 9, 10, 12] คือลำดับของ 10 ตัวแรก ...

อ่านเพิ่มเติม

คำถามที่ 44. ตัวแบ่งจำนวนเต็ม LeetCode Solution คำชี้แจงปัญหา Integer Break LeetCode Solution – กำหนดจำนวนเต็ม n ให้แบ่งออกเป็นผลรวมของจำนวนเต็มบวก k โดยที่ k >= 2 และเพิ่มผลคูณของจำนวนเต็มเหล่านั้น เราจำเป็นต้องคืนสินค้าสูงสุดที่เราจะได้รับ อินพุต: n = 2 เอาต์พุต: 1 คำอธิบาย: 2 = 1 + 1, ...

อ่านเพิ่มเติม

คำถามที่ 45. ผลิตภัณฑ์สูงสุดของ LeetCode Solution สามตัวเลข คำชี้แจงปัญหา ผลิตภัณฑ์สูงสุดของสามตัวเลข โซลูชัน LeetCode – เราได้รับอาร์เรย์ คำถามขอให้เราคำนวณผลคูณสูงสุดของตัวเลข 3 ตัวใดๆ ตัวอย่าง ตัวอย่างที่ 1: อินพุต: nums = [1,2,3] เอาต์พุต: 6 ตัวอย่างที่ 2: อินพุต: nums = [1,2,3,4] เอาต์พุต: 24 ตัวอย่างที่ 3: อินพุต: nums = ...

อ่านเพิ่มเติม

คำถามที่ 46. Word Ladder โซลูชัน LeetCode คำชี้แจงปัญหา The Word Ladder โซลูชัน LeetCode - "Word Ladder" ระบุว่าคุณได้รับสตริง beginWord, string endWord และ wordList เราจำเป็นต้องค้นหาความยาวลำดับการแปลงที่สั้นที่สุด (หากไม่มีเส้นทางอยู่ ให้พิมพ์ 0) จาก beginWord ถึง endWord ตามเงื่อนไขที่กำหนด: คำระดับกลางทั้งหมดควร ...

อ่านเพิ่มเติม

คำถามที่ 47. เวลาที่ดีที่สุดในการซื้อและขายหุ้น LeetCode Solution คำชี้แจงปัญหา เวลาที่ดีที่สุดในการซื้อและขายหุ้น โซลูชัน LeetCode – “เวลาที่ดีที่สุดในการซื้อและขายหุ้น” ระบุว่าคุณจะได้รับอาร์เรย์ของราคาที่ราคา [i] คือราคาของหุ้นที่กำหนดในวันที่ ith คุณต้องการเพิ่มผลกำไรสูงสุดโดยเลือก ...

อ่านเพิ่มเติม

คำถามที่ 48. พิมพ์ n เงื่อนไขของลำดับนิวแมน - คอนเวย์ คำชี้แจงปัญหาปัญหา“ พิมพ์ n เงื่อนไขของลำดับนิวแมน - คอนเวย์” ระบุว่าคุณได้รับจำนวนเต็ม“ n” ค้นหา n เงื่อนไขแรกของลำดับนิวแมน - คอนเวย์จากนั้นพิมพ์ ตัวอย่าง n = 6 1 1 2 2 3 4 คำอธิบายคำศัพท์ทั้งหมดที่พิมพ์ตามลำดับนิวแมน - คอนเวย์ ...

อ่านเพิ่มเติม

คำถามที่ 49. หน้าต่างบานเลื่อนสูงสุด ในปัญหา Sliding Window Maximum เราได้กำหนดจำนวนอาร์เรย์สำหรับแต่ละหน้าต่างขนาด k ที่อยู่ติดกันให้ค้นหาองค์ประกอบสูงสุดในหน้าต่าง ตัวอย่างอินพุต nums [] = {1,3, -1, -3,5,3,6,7} k = 3 เอาต์พุต {3,3,5,5,6,7} คำอธิบายวิธีไร้เดียงสาสำหรับหน้าต่างบานเลื่อนสูงสุดสำหรับ ทุกหน้าต่างขนาด k ที่ติดกันข้าม ...

อ่านเพิ่มเติม

คำถามที่ 50. การใช้งานแคช LRU แคชที่เพิ่งใช้น้อยที่สุด (LRU) เป็นวิธีการประเภทหนึ่งที่ใช้เพื่อรักษาข้อมูลเพื่อให้เวลาที่ต้องใช้ข้อมูลน้อยที่สุดเท่าที่จะเป็นไปได้ อัลกอริทึม LRU ใช้เมื่อแคชเต็ม เราลบข้อมูลที่ใช้ล่าสุดออกจากหน่วยความจำแคชของ ...

อ่านเพิ่มเติม

คำถามที่ 51. Serialize และ Deserialize Binary Tree เราได้ให้ต้นไม้ไบนารีที่มี N จำนวนโหนดโดยที่แต่ละโหนดมีค่าบางอย่าง เราจำเป็นต้องทำให้เป็นอนุกรมและ deserialize ต้นไม้ไบนารี Serialize กระบวนการจัดเก็บต้นไม้ในไฟล์โดยไม่รบกวนโครงสร้างเรียกว่าการทำให้เป็นอนุกรม DeserializeSerialize และ Deserialize Binary Tree กระบวนการ ...

อ่านเพิ่มเติม

Translate »