หน้าแรก
หน้าแรก
เราต้องสร้างฟังก์ชันขึ้นมาหนึ่งฟังก์ชันเพื่อค้นหาจำนวนที่น่าเกลียดสุดอันดับที่ n ตัวเลขที่น่าเกลียดอย่างยิ่งเป็นจำนวนบวกที่มีตัวประกอบเฉพาะทั้งหมดอยู่ในจำนวนเฉพาะรายการเฉพาะของขนาด k ดังนั้นหาก n คือ 12 และจำนวนเฉพาะคือ [2, 7, 13, 19] แล้วผลลัพธ์จะเป็น 32 นั่นเป็นเพราะ [1, 2, 4, 7, 8, 13, 14, 16, 19
สมมุติว่าโจรคนหนึ่งได้พบที่ใหม่สำหรับการขโมยของเขาอีกครั้ง บริเวณนี้มีทางเข้าเพียงทางเดียว ทางเข้าเรียกว่า ราก นอกจากรากแล้ว บ้านแต่ละหลังมีบ้านแม่เพียงหลังเดียว หลังการทัวร์ โจรที่ฉลาดรู้สึกว่า บ้านทุกหลังในที่นี้ก่อตัวเป็นต้นไม้คู่ และจะติดต่อตำรวจโดยอัตโนมัติหากบ้านสองหลังที่เชื่อมโยงโดยตรงถูกบุก
สมมติว่าเรามีสตริง s และสตริงที่ไม่ว่าง p เราต้องหาดัชนีเริ่มต้นทั้งหมดของ ps anagrams ใน s สตริงประกอบด้วยอักษรตัวพิมพ์เล็กเท่านั้น และความยาวของทั้งสตริง s และ p จะไม่เกิน 20 และ 100 ตัวอย่างเช่น หาก s:cbaebabacd p:abc ผลลัพธ์จะเป็น [0, 6 ] ที่ดัชนี 0 คือ cba และอีกอันคือ bac นี่คือแอนนาแกรมของ ab
สมมติว่าเรามีอาร์เรย์ถ่านที่แสดงถึงงานที่ CPU ต้องทำ ประกอบด้วยตัวพิมพ์ใหญ่ A ถึง Z โดยที่ตัวอักษรต่างกันแสดงถึงงานที่แตกต่างกัน งานสามารถทำได้โดยไม่ต้องมีคำสั่งเดิม แต่ละงานสามารถทำได้ในช่วงเวลาเดียว สำหรับแต่ละช่วงเวลา CPU สามารถทำงานหนึ่งงานให้เสร็จหรือไม่ได้ใช้งาน อย่างไรก็ตาม มีช่วงการระบายความ
สมมติว่าเรามีไบนารีทรีที่รูท ความลึกของแต่ละโหนดคือระยะทางที่สั้นที่สุดไปยังรูท โหนดนี้จะลึกที่สุดหากมีความลึกมากที่สุดในบรรดาโหนดใดๆ ในทรีทั้งหมด ทรีย่อยของโหนดคือโหนดนั้น บวกกับชุดของลูกหลานทั้งหมดของโหนดนั้น เราต้องหาโหนดที่มีความลึกมากที่สุดเพื่อให้มีโหนดที่ลึกที่สุดในทรีย่อย ดังนั้นถ้าต้นไม้เป็
สมมติว่าต้นไม้ไบนารีแบบเต็มเป็นต้นไม้ไบนารีโดยที่แต่ละโหนดมีลูก 0 หรือ 2 ลูกพอดี ดังนั้นเราจึงต้องหารายการต้นไม้ไบนารีแบบเต็มที่เป็นไปได้ทั้งหมดที่มีโหนด N แต่ละโหนดของต้นไม้แต่ละต้นในคำตอบจะต้องมี node.val =0 ต้นไม้ที่ส่งคืนสามารถอยู่ในลำดับใดก็ได้ ดังนั้นหากอินพุตคือ 7 ต้นไม้จะเป็น − เพื่อแก้ปั
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม A เราต้องหาผลรวมของ min(B) โดยที่ B อยู่ในช่วงอาร์เรย์ย่อย (ต่อเนื่องกัน) ทุกรายการของ A เนื่องจากคำตอบอาจมาก ใหญ่ แล้วส่งคืนคำตอบในโมดูโล 10^9 + 7 ดังนั้นหากอินพุตเป็น [3,1,2,4] ผลลัพธ์จะเป็น 17 เนื่องจากอาร์เรย์ย่อยคือ [3], [1], [ 2], [4], [3,1], [1,2], [2,4], [3,
อย่างที่เราทราบดีว่าไบนารีทรีแบบสมบูรณ์เป็นไบนารีทรีที่ทุกระดับ ยกเว้นขั้นสุดท้ายจะถูกเติมเต็ม และโหนดทั้งหมดจะอยู่ให้ไกลที่สุด เราต้องเขียนโครงสร้างข้อมูล CBTInserter ที่เริ่มต้นด้วยไบนารีทรีที่สมบูรณ์และสนับสนุนการดำเนินการดังต่อไปนี้ CBTInserter(TreeNode root) เป็นการเริ่มต้นโครงสร้างข้อมูลบนท
สมมติว่าเรามีรูทของไบนารีทรี ระดับของรูทคือ 1 ระดับของโหนดย่อยคือ 2 เป็นต้น เราต้องคืนค่าระดับ X ที่เล็กที่สุดเพื่อให้ผลรวมของค่าทั้งหมดของโหนดที่ระดับ X มีค่าสูงสุด ดังนั้นถ้าต้นไม้เป็นเหมือน − จากนั้นผลลัพธ์จะเป็น 2 ผลรวมระดับ 1 =1 ผลรวมระดับ 2 คือ 7 + 0 =7 ผลรวมระดับ 2 คือ 7 + (-8) =-1 ดังนั้นค
สมมติว่าเรามีแท่งไม้ที่มีความยาวจำนวนเต็มบวก เราสามารถเชื่อมไม้ที่มีความยาว X และ Y สองแท่งเข้าด้วยกันเป็นแท่งเดียวโดยจ่ายราคา X + Y การดำเนินการนี้จะดำเนินการจนกว่าจะเหลือแท่งเดียว เราต้องหาต้นทุนขั้นต่ำในการเชื่อมต่อแท่งที่ให้มาทั้งหมดเป็นแท่งเดียวด้วยวิธีนี้ ดังนั้นหากสแต็กเป็น [2,4,3] ผลลัพธ์จะเ
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม เราต้องหาผลรวมสูงสุดสำหรับ subarray ที่ไม่ว่างเปล่า (องค์ประกอบที่ต่อเนื่องกัน) โดยมีการลบองค์ประกอบไม่เกินหนึ่งรายการ กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่าเราต้องการเลือกอาร์เรย์ย่อยและเลือกที่จะลบหนึ่งองค์ประกอบออกจากมัน เพื่อให้ยังมีองค์ประกอบเหลืออย่างน้อยหนึ่งองค
สมมติว่าเรามีทรีการค้นหาแบบไบนารีสองทรี เราต้องคืนค่า True if มีโหนดในทรีแรกและโหนดในทรีที่สอง และผลรวมของโหนดเหล่านี้เป็นเป้าหมายจำนวนเต็มที่กำหนด . ดังนั้นถ้าต้นไม้เป็นเหมือน − และเป้าหมายคือ 5 ดังนั้นผลลัพธ์จะเป็นจริง เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดแผนที่ กำหนดวิธีการที่เร
สมมติว่าเรามีอาร์เรย์จำนวนเต็ม arr และผลต่างของจำนวนเต็ม เราต้องหาความยาวของลำดับย่อยที่ยาวที่สุดใน arr ซึ่งเป็นลำดับเลขคณิตเพื่อให้ความแตกต่างระหว่างองค์ประกอบที่อยู่ติดกันในลำดับต่อมา ก็เหมือนกับความแตกต่าง ดังนั้นหากอินพุตเป็นเหมือน [1,5,7,8,5,3,4,2,1] และผลต่างคือ -2 แล้วผลลัพธ์จะเป็น − 4 เนื่อง
สมมติว่าเราต้องออกแบบคลาสลีดเดอร์บอร์ด มีสามฟังก์ชันที่แตกต่างกัน – addScore(playerId, score) - สิ่งนี้จะอัปเดตกระดานผู้นำโดยเพิ่มคะแนนให้กับคะแนนของผู้เล่นที่กำหนด เมื่อไม่มีผู้เล่นดังกล่าวที่มี id ที่ระบุในกระดานผู้นำ ให้เพิ่มเขาในกระดานผู้นำด้วยคะแนนที่กำหนด top(K) - จะคืนค่าผลรวมคะแนนของผู้เล่น
สมมุติว่าเรามีต้นไม้ที่ไม่มีทิศทาง เราต้องหาเส้นผ่านศูนย์กลางของมัน - จำนวนขอบในเส้นทางที่ยาวที่สุดในต้นไม้นั้นคือเส้นผ่านศูนย์กลางของต้นไม้นั้น ต้นไม้ที่นี่ถูกกำหนดเป็นรายการขอบโดยที่ edge[i] =[u, v] เป็นขอบแบบสองทิศทางระหว่างโหนด u และ v แต่ละโหนดมีป้ายกำกับในชุด {0, 1, ..., edge.length} ดังนั้นหา
สมมติว่าเรามีสตริงสองสตริง s1 และ s2 ที่มีความยาวเท่ากันซึ่งประกอบด้วยตัวอักษร x และ y เท่านั้น งานของเราคือทำให้สองสตริงนี้เท่ากัน เราสามารถสลับอักขระสองตัวที่เป็นของสตริงต่างกันได้ ซึ่งหมายความว่า − สลับ s1[i] และ s2[j] เราต้องหาจำนวนสวอปขั้นต่ำที่จำเป็นในการทำให้ s1 และ s2 เท่ากัน หรือคืนค่า -1 ห
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม nums และจำนวนเต็ม k subarray เรียกว่า nice subarray ถ้ามี k เลขคี่อยู่บนนั้น เราต้องหาจำนวนอาร์เรย์ย่อยที่ดี ดังนั้นหากอาร์เรย์คือ [1,1,2,1,1] และ k =3 ผลลัพธ์จะเป็น 2 เนื่องจากอาร์เรย์ย่อยคือ [1,1,2,1] และ [1,2,1 ,1] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - a
สมมติว่าเรามีรายการที่เรียงลำดับของช่วงที่ไม่ปะติดปะต่อกัน แต่ละช่วงของช่วง[i] =[a, b] แทนชุดของตัวเลข x โดยที่ a <=x
สมมุติว่าเรามีต้นไม้ต้นหนึ่ง ต้นไม้นี้ถูกรูทที่โหนด 0 ซึ่งจะมีดังต่อไปนี้ - จำนวนโหนดคือโหนด ค่าของโหนด ith คือค่า[i] พาเรนต์ของโหนด ith คือพาเรนต์[i] เราต้องลบทรีย่อยทั้งหมดที่มีผลรวมของค่าของโหนดเป็น 0 หลังจากที่ทำเช่นนั้นแล้วจะคืนค่าจำนวนโหนดที่เหลืออยู่ในทรี ดังนั้นถ้าต้นไม้เป็นเหมือน − มี
สมมติว่าเราต้องออกแบบคลาส Iterator ซึ่งประกอบด้วยการดำเนินการไม่กี่อย่าง - กำหนดคอนสตรัคเตอร์ที่ใช้อักขระสตริงของตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กที่แตกต่างกันและชุดค่าผสมตัวเลขLength เป็นพารามิเตอร์ กำหนดฟังก์ชัน next() ที่คืนค่าชุดค่าผสมถัดไปของความยาวรวมกันLength ตามลำดับตัวอักษร กำหนดฟังก์ชันอื่น