หน้าแรก
หน้าแรก
สมมติว่าเรามีหุ่นยนต์ซึ่งกำลังนั่งอยู่ในตำแหน่ง (0, 0) (เครื่องบินคาร์ทีเซียน) ถ้าเรามีรายชื่อการเคลื่อนไหวที่สามารถทำได้ ประกอบด้วย N(เหนือ), S(ใต้), W(ตะวันตก) และ E(ตะวันออก) อย่างไรก็ตาม หากหุ่นยนต์ไปถึงจุดที่มันเคยอยู่มาก่อน มันจะเคลื่อนที่ไปในทิศทางเดียวกันจนกว่าจะถึงจุดใหม่ที่ไม่มีใครมาเยี่ยม
สมมติว่าเรามีเมทริกซ์สี่เหลี่ยมจัตุรัส เราต้องหมุนมัน 90 องศาทวนเข็มนาฬิกา 1 4 7 2 5 8 3 6 9 แล้วผลลัพธ์ที่ได้จะเป็น 7 8 9 4 5 6 1 2 3 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - หากเมทริกซ์ว่างเปล่า กลับรายการว่าง n :=จำนวนแถวของเมทริกซ์ สำหรับแต่ละแถวในเมทริกซ์ ทำ กลั
สมมติว่าเรามีรายการของช่วงเวลาที่แต่ละช่วงเวลาเป็นเหมือน [เริ่มต้น, สิ้นสุด) และเรายังมีรายการของสตริงที่เรียกว่าประเภท ตอนนี้สำหรับ i ที่กำหนด ช่วงเวลา[i] แสดงเวลาที่มีคนทำงานในประเภทงาน[i] จาก [เริ่ม, สิ้นสุด) ช่วงเวลาสองช่วงของประเภทเดียวกันจะไม่ทับซ้อนกันหรือสัมผัสกัน ดังนั้นเราจึงต้องหารายการที
สมมติว่าเรามีตัวเลข n และเมทริกซ์ 2 มิติที่เรียกว่าศัตรู ในที่นี้ n บ่งชี้ว่ามี nผู้คนที่ติดป้ายกำกับจาก [0, n - 1] ตอนนี้แต่ละแถวในศัตรูมี [a, b] ซึ่งหมายความว่า a และ b เป็นศัตรู เราต้องตรวจสอบว่าเป็นไปได้หรือไม่ที่จะแบ่งคน n ออกเป็นสองกลุ่ม เพื่อไม่ให้คนสองคนที่เป็นศัตรูอยู่ในกลุ่มเดียวกัน ดังนั
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums โดยที่ nums[i] แสดงถึงผู้ล่าของสัตว์ตัวนั้น และหากไม่มีผู้ล่า มันก็จะมีค่า -1 เราต้องหากลุ่มสัตว์ให้น้อยที่สุดเพื่อไม่ให้มีสัตว์กลุ่มเดียวกับนักล่าโดยตรงหรือโดยอ้อม ดังนั้น หากอินพุตเป็น nums =[1, 2, -1, 4, 5, −1] เอาต์พุตจะเป็น 3 เนื่องจากเราสามารถมีกลุ่มต
สมมติว่าเรามีตัวเลข สำหรับแต่ละตัวเลข i ในช่วง 0 ≤ i ≤ num เราต้องคำนวณจำนวน 1 ในตัวคู่ไบนารีของพวกมันและส่งคืนเป็นรายการ ดังนั้นถ้าตัวเลขคือ 5 แล้วตัวเลขก็คือ [0, 1, 2, 3, 4, 5] และเลข 1 ในตัวเลขเหล่านี้คือ [0, 1, 1, 2, 1, 2] ก็จะได้ กลับ 7. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - res :=อา
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่าเราสามารถแบ่งรายการออกเป็นสองกลุ่ม A และ B ได้หรือไม่ โดยผลรวมของ A และผลรวมของ B จะเท่ากัน ในที่นี้ทุกจำนวนใน A จะน้อยกว่าทุกจำนวนใน B อย่างเคร่งครัด ดังนั้น หากอินพุตเป็น nums =[3, 4, 5, 12] ผลลัพธ์จะเป็น True เนื่องจากเราสามารถมี A =[3,4
สมมติว่าเรามีค่า k และแผนผังการค้นหาแบบไบนารี แต่ละโหนดเป็นใบไม้หรือมีลูก 2 ลูก เราต้องหาโหนดที่มีค่า k แล้วคืนค่าของพี่น้อง ดังนั้นหากอินพุตเป็นแบบ k =4 แล้วผลลัพธ์จะเป็น 10 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน util() สิ่งนี้จะทำการรูท, k, ans ถ้าทางซ้ายของรูทไม่เป็
สมมติว่าเรามีเมทริกซ์ 2 มิติ โดยที่แต่ละแถวจะเรียงลำดับจากน้อยไปมาก เราต้องหาจำนวนที่น้อยที่สุดที่มีอยู่ในทุกแถว หากไม่มีผลลัพธ์ดังกล่าว ให้คืนค่า -1 ดังนั้นหากอินพุตเป็นแบบ 2 3 5 5 10 10 1 3 5 แล้วผลลัพธ์จะเป็น 5 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - หากเมทริกซ์ว่างเปล่า กลับ -
สมมุติว่าเรามีอาร์เรย์ A ที่มีจำนวนเต็มไม่กี่จำนวน เราต้องเรียงตัวเลขเป็นคู่แล้วคี่ ให้ใส่เลขคู่ก่อน ตามด้วยเลขคี่ ดังนั้นหากอาร์เรย์เป็นเหมือน A =[1, 5, 6, 8, 7, 2, 3] ผลลัพธ์จะเป็นเช่น [6, 8, 2, 1, 5, 7, 3] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ตั้งค่า i :=0 และ j :=0 ในขณะที่ j <ขนา
สมมติว่าเรามีตัวเลข n เราต้องหาตัวเลขตั้งแต่สองตัวขึ้นไปที่ผลรวมของพวกมันเท่ากับ n และผลิตภัณฑ์ของตัวเลขเหล่านี้ถูกขยายให้ใหญ่สุด เราต้องหาผลคูณ ดังนั้น หากอินพุตเท่ากับ n =12 เอาต์พุตจะเป็น 81 เช่น 3 + 3 + 3 + 3 =12 และ 3 * 3 * 3 * 3 =81 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ช
สมมติว่าเรามีรายการของสแต็ค เราสามารถนำสแต็คหรือสแต็คใดๆ และป๊อปองค์ประกอบจำนวนเท่าใดก็ได้จากมัน เราต้องหาผลรวมสูงสุดที่สามารถทำได้เพื่อให้กองทั้งหมดมีค่ารวมเท่ากัน ดังนั้น หากอินพุตเป็นเหมือน stacks =[[3, 4, 5, 6], [5, 6, 1, 4, 4], [10, 2, 2, 2] ] ผลลัพธ์จะเป็น 12 ตามที่เราสามารถดำเนินการได้เช่น −
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีรายการย่อยหรือไม่ โดยที่ผลรวมของตัวเลขนั้นมากกว่าผลรวมทั้งหมดของรายการอย่างเคร่งครัด ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[1, −2, 3, 4] ผลลัพธ์จะเป็น True เนื่องจากผลรวมของรายการคือ 6 และผลรวมของรายการย่อย [3, 5] คือ 8 ซึ่งก็คือ ใหญ่ขึ้นอย
สมมติว่าเรามีรายการของตัวเลขที่เรียกว่า nums เราเลือกค่าที่ตามมาของค่าที่เพิ่มขึ้นอย่างเคร่งครัด โดยที่ผลต่างของตัวเลขแต่ละตัวจะเหมือนกับผลต่างของดัชนีทั้งสองตัว ดังนั้นเราต้องหาผลรวมสูงสุดของลำดับย่อยดังกล่าว ดังนั้น หากอินพุตเท่ากับ nums =[6, 7, 9, 9, 8, 5] ผลลัพธ์จะเป็น 22 ขณะที่เราเลือกลำดับย่อ
สมมติว่าเรามีต้นไม้ไบนารีสองทรี เราต้องตรวจสอบว่าต้นไม้ที่สองเป็นต้นไม้ย่อยของต้นไม้แรกหรือไม่ ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน Solve() สิ่งนี้จะหยั่งรากเป้าหมาย ถ้ารูทเป็นโมฆะและเป้าหมายเป็นโมฆะด้วย ดังนั้น คืนค่
สมมติว่าเรามีตารางซูโดกุ 9 × 9 หนึ่งตาราง เราต้องตรวจสอบว่าถูกต้องหรือตอนนี้ เฉพาะเซลล์ที่เติมต้องได้รับการตรวจสอบตามกฎต่อไปนี้ - แต่ละแถวต้องมีตัวเลขตั้งแต่ 1-9 โดยไม่ซ้ำกัน แต่ละคอลัมน์ต้องมีตัวเลขตั้งแต่ 1-9 โดยไม่ซ้ำกัน ช่องย่อย 9 (3-3) แต่ละรายการของตารางต้องมีตัวเลขตั้งแต่ 1-9 โดยไม่ซ
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และค่า k เราต้องตรวจสอบว่ามีองค์ประกอบที่ไม่ซ้ำกันสี่รายการในรายการที่รวมกันเป็น k หรือไม่ ดังนั้น หากอินพุตเป็น nums =[11, 4, 6, 10, 5, 1] k =25 ผลลัพธ์จะเป็น True ดังที่เรามี [4, 6, 10, 5] ซึ่งผลรวมคือ 25 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และอีกค่าหนึ่งคือ k เราต้องตรวจสอบว่าเราสามารถหาองค์ประกอบที่ไม่ซ้ำกันสามรายการในรายการที่มีผลรวมเป็น k หรือไม่ ดังนั้น หากอินพุตเป็น nums =[11, 4, 6, 10, 5, 1] k =20 ผลลัพธ์จะเป็น True เนื่องจากเรามีตัวเลข [4,6,10] ซึ่งมีผลรวมเป็น 20 เพื่อแก้ปัญหานี้ เร
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และค่าเป้าหมายอื่น เราต้องหาจำนวนสามเท่า (i
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และอีกค่าหนึ่งคือ k เราต้องหาค่าที่ไม่ซ้ำกันสามค่าใน nums (a, b, c) เพื่อให้ |a + b + c − k| ถูกย่อให้เล็กสุดและส่งคืนส่วนต่างที่แน่นอน ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2, 5, 25, 6] k =14 ผลลัพธ์จะเป็น 1 เหมือนกับว่าเราใช้ [2, 5, 6] จะทำให้เราเข้าใกล้ 1