หน้าแรก
หน้าแรก
สมมุติว่าเรามี n จำนวนเต็มไม่เป็นลบ a1, a2, ..., an, แต่ละค่าแสดงถึงจุดที่พิกัด (i, a[i]) มีเส้นแนวตั้งในลักษณะที่จุดสิ้นสุดสองจุดของเส้น i อยู่ที่ (i, a[i]) และ (i, a[0]) เราต้องหาเส้นสองเส้น ซึ่งรวมกันกับแกน x ทำให้เกิดภาชนะเดียว ดังนั้นเป้าหมายของเราคือหาสองคอลัมน์ที่มีปริมาตรน้ำสูงสุด ดังนั้นหาก
สมมติว่าเรามีอาร์เรย์ของตัวเลข มันเก็บจำนวนเต็ม n จำนวน มีองค์ประกอบ a, b, c ในอาร์เรย์ เช่น a + b + c =0 ค้นหาแฝดสามที่ไม่ซ้ำกันทั้งหมดในอาร์เรย์ที่ตรงกับสถานการณ์ ดังนั้นหากอาร์เรย์เป็นแบบ [-1,0,1,2,-1,-4] ผลลัพธ์จะเป็น [[-1, 1, 0], [-1, -1, 2]] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - จัดเรี
สมมติว่าเรามีสตริงที่มีตัวเลขตั้งแต่ 2-9 ขึ้นไป เราต้องส่งคืนชุดตัวอักษรที่เป็นไปได้ทั้งหมดที่ตัวเลขสามารถแสดงได้ การจับคู่ตัวเลขกับตัวอักษรหนึ่งตัว (เหมือนกับบนปุ่มโทรศัพท์) แสดงไว้ด้านล่าง โปรดทราบว่า 1 ไม่ได้จับคู่กับตัวอักษรใดๆ 1 2 a b c 3 d e f 4 จี เฮ้ 5 เจเคแอล 6 m n o 7 p q
สมมติว่าเรามีรายการที่เชื่อมโยง เราต้องลบโหนด Nth ออกจากส่วนท้ายของรายการ จากนั้นส่งคืนส่วนหัว ดังนั้นหากรายการเป็นแบบ [1, 2, 3, 4, 5, 6] และ n =3 รายการที่ส่งคืนจะเป็น [1, 2, 3, 5, 6] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - หากไม่มีโหนดหลังส่วนหัว ให้คืนค่า None ด้านหน้า :=หัว หลัง :=หัว เคาน
สมมติว่าเรามีค่า n เราต้องสร้างวงเล็บที่มีรูปแบบถูกต้องที่เป็นไปได้ทั้งหมดซึ่งมีวงเล็บเปิดและปิดจำนวน n รายการ ดังนั้นหากค่าของ n =3 วงเล็บจะเป็น [()()(),()(()),(())(),(()()) ,((()))] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการที่เรียกว่า genParenthesisRec() การดำเนินการนี้ใช้สตริง te
ลองพิจารณาว่าเรามีอาร์เรย์ที่จัดเรียงจากน้อยไปหามาก และจะหมุนไปที่จุดหมุนที่คุณไม่รู้จักล่วงหน้า ตัวอย่างเช่น [0,1,2,4,5,6,7] อาจกลายเป็น [4,5,6,7,0,1,2] เราได้ให้ค่าเป้าหมายในการค้นหา หากเราได้รับในอาร์เรย์ ให้ส่งคืนดัชนี มิฉะนั้นให้คืนค่า -1 เราสามารถสันนิษฐานได้ว่าไม่มีข้อมูลซ้ำกันในอาร์เรย์ ดังน
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม A ซึ่งเรียงลำดับจากน้อยไปหามาก เราต้องหาตำแหน่งเริ่มต้นและสิ้นสุดของค่าเป้าหมายที่กำหนด เมื่อไม่พบเป้าหมายในอาร์เรย์ ให้ส่งคืน [-1, -1] ดังนั้นหากอาร์เรย์เป็นเหมือน [2,2,2,3,4,4,4,4,5,5,6] และเป้าหมายคือ 4 ผลลัพธ์จะเป็น [4,7] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่า
สมมติว่าเรามีกระดานซูโดกุ 9x9 หนึ่งกระดาน เราต้องตรวจสอบว่าถูกต้องหรือตอนนี้ เฉพาะเซลล์ที่เติมต้องได้รับการตรวจสอบตามกฎต่อไปนี้ - แต่ละแถวต้องมีตัวเลขตั้งแต่ 1-9 โดยไม่ซ้ำกัน แต่ละคอลัมน์ต้องมีตัวเลขตั้งแต่ 1-9 โดยไม่ซ้ำกัน ช่องย่อย 9 ช่อง (3x3) แต่ละช่องของกริดต้องมีตัวเลขตั้งแต่ 1-9 โดยไม่ซ้ำกัน
สมมติว่าเรามีตัวเลขสองตัวเป็นสตริง เราต้องคูณมันและส่งคืนผลลัพธ์เป็นสตริงด้วย ดังนั้นหากตัวเลขเป็น “26” และ “12” ผลลัพธ์จะเป็น “312” เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ใช้สองอาร์กิวเมนต์ x และ y แสดงว่า x หาร y ถ้า x <-Infinity และ y =1 แล้วคืนค่าอนันต์ a :=|x|, b :=|y| และคำตอบ :=0 =0 p
สมมติว่าเรามีคอลเล็กชันของจำนวนเต็มที่แตกต่างกัน เราต้องหาการเรียงสับเปลี่ยนที่เป็นไปได้ทั้งหมด ดังนั้นหากอาร์เรย์เป็นเหมือน [2,1,3] ผลลัพธ์จะเป็น [1,2,3], [1,3,2], [2,1,3], [2,3,1 ], [3,1,2], [3,2,1]] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เราจะใช้วิธีการแบบเรียกซ้ำ ซึ่งจะทำให้รายการ เริ่ม ส
สมมติว่าเรามีเมทริกซ์ 2D หนึ่งรายการ ซึ่งแสดงหนึ่งภาพ เราต้องหมุนภาพนี้ 90 องศาตามเข็มนาฬิกา ดังนั้นหากภาพออกมาเหมือน 1 5 7 9 6 3 2 1 3 จากนั้นผลลัพธ์จะเป็น 2 9 1 1 6 5 3 3 7 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - พิจารณา temp_mat =[], col :=length of matrix – 1 สำหรับ col ในช่วง 0
สมมุติว่า เรามีชุดของสตริง เราต้องรวมกลุ่มแอนนาแกรมเข้าด้วยกัน ดังนั้นถ้า [กิน, ชา, ตาล, กิน, แนท, ค้างคาว] แล้วกลุ่มนั้นก็คือ [[ate,eat,tea],[ แนท,ตาล],[bat]] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดความละเอียดเป็นแผนที่ สำหรับฉันในอาร์เรย์สตริง x :=x และเข้าร่วม เรียงลำดับสตริงของ i ถ้า
สมมติว่าเรามีอินพุต x และ n สองตัว x คือตัวเลขในช่วง -100.0 ถึง 100.0 และ n คือจำนวนเต็มที่ลงนามแบบ 32 บิต เราต้องหา x ยกกำลัง n โดยไม่ใช้ฟังก์ชันไลบรารี ดังนั้นหากอินพุตที่กำหนดคือ x =12.1, n =-2 เอาต์พุตจะเป็น 0.00683 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - อำนาจ :=|n| และ res :=1.0 ในขณะที
สมมติว่าเรามีอาร์เรย์ที่มีวัตถุ n รายการ สิ่งเหล่านี้เป็นสีแดง สีขาว หรือสีน้ำเงิน จัดเรียงให้เข้าที่เพื่อให้วัตถุที่มีสีเดียวกันอยู่ติดกัน โดยเรียงตามลำดับสี แดง ขาว และน้ำเงิน ในที่นี้ เราจะใช้ตัวเลขเช่น 0, 1 และ 2 เพื่อแสดงสีแดง สีขาว และสีน้ำเงินตามลำดับ ดังนั้นหากอาร์เรย์เป็นเหมือน [2,0,2,1,1,0
สมมติว่าเรามีจำนวนเต็มสองจำนวน n และ k เราต้องหาตัวเลข k ที่เป็นไปได้ทั้งหมดจาก 1 ... n ดังนั้น ถ้า n =4 และ k =2 ผลรวมจะเป็น [1,2],[1,3],[1,4],[2,3],[2,4],[3,4 ]] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เราจะใช้ฟังก์ชันเรียกซ้ำเพื่อแก้ปัญหานี้ ฟังก์ชัน Solve() กำลังรับ n, k, temp array และ s
สมมติว่าเรามีข้อความที่มีตัวอักษรจาก A ถึง Z ถูกเข้ารหัสเป็นตัวเลขโดยใช้การจับคู่ต่อไปนี้ - A → 1, B → 2 ... Z → 26. ดังนั้นถ้าเรามีสตริงที่ไม่ว่างหนึ่งสตริงที่มีตัวเลขเท่านั้น เราก็ต้องหาว่าจะสามารถถอดรหัสได้กี่วิธี ดังนั้นถ้าสตริงเป็นเหมือน 12 ก็สามารถสร้างจาก AB หรือ L ได้ดังนั้นจึงมีสองวิธีที่เป
สมมุติว่าเรามีไบนารีทรี เราต้องสำรวจต้นไม้นี้โดยใช้รูปแบบการข้ามผ่านแบบ inorder โดยไม่ใช้การเรียกซ้ำ ดังนั้นถ้าต้นไม้เป็นเหมือน จากนั้นให้ข้ามไปเป็น [2,5,7,10,15,20] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สร้างอาร์เรย์และสแต็กสองอาร์เรย์ ตั้งค่า curr :=root เรียกใช้หนึ่งวนไม่สิ้นสุด ในขณะ
สมมติว่าเรามีสตริงที่ไม่ว่างหนึ่งสตริงและพจนานุกรม wordDict ที่ประกอบด้วยรายการของคำที่ไม่ว่างเปล่า กำหนดเมื่อ s สามารถแบ่งออกเป็นลำดับที่คั่นด้วยช่องว่างของคำในพจนานุกรมตั้งแต่หนึ่งคำขึ้นไป เราต้องปฏิบัติตามกฎบางอย่าง - คำเดียวกันในพจนานุกรมอาจถูกนำมาใช้ซ้ำหลายครั้งในการแบ่งกลุ่ม เราสามารถสรุปได้ว
สมมติว่ามีรายการของจำนวนเต็มที่ไม่ติดลบ เราต้องจัดเรียงพวกมันให้เป็นจำนวนที่มากที่สุด ดังนั้นหากอาร์เรย์คือ [10, 2] จำนวนที่มากที่สุดจะเป็น 210 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - จัดเรียงตัวเลขโดยที่ตัวเลขที่มีนัยสำคัญมากกว่าตำแหน่งแรก เช่น การจัดเรียงตัวเลข หลังจากนั้นก็รวมตัวเลขจากอาร์
สมมติว่าเรามีจำนวนเต็มไม่เป็นลบ num สำหรับแต่ละหมายเลข i ในช่วง 0 ≤ i ≤ num เราต้องคำนวณจำนวน 1 ในคู่ไบนารีของพวกมันและส่งคืนเป็นรายการ ดังนั้นหากตัวเลขคือ 5 ตัวเลขก็คือ [0, 1, 2, 3, 4, 5] และจำนวน 1 ในตัวเลขเหล่านี้คือ [0, 1, 1, 2, 1, 2] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - res :=อาร์เรย์