หน้าแรก
หน้าแรก
สมมติว่าเรามีชุดของช่วงเวลาที่ไม่ทับซ้อนกัน เราต้องใส่ช่วงเวลาใหม่เข้าไปในช่วงเวลานั้น เราสามารถรวมกันได้ถ้าจำเป็น ดังนั้นหากอินพุตเป็น − [[1,4],[6,9]] และช่วงใหม่คือ [2,5] เอาต์พุตจะเป็น [[1,5],[6,9]] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - แทรกช่วงเวลาใหม่เมื่อสิ้นสุดรายการช่วงเวลาก่อนหน
สมมติว่าเรามีอาร์เรย์ของคำและความกว้าง maxWidth เราต้องจัดรูปแบบข้อความเพื่อให้แต่ละบรรทัดมีจำนวนอักขระ maxWidth ที่แน่นอนและได้รับการพิสูจน์โดยสมบูรณ์ เราควรบรรจุคำพูดของเราด้วยวิธีโลภ นั่นคือ บรรจุคำให้มากที่สุดเท่าที่เราจะทำได้ในแต่ละบรรทัด เราจะใส่ช่องว่างพิเศษ เมื่อจำเป็น เพื่อให้แต่ละบรรทัดม
สมมติว่าเรามีคำสองคำ word1 และ word2 เราต้องหาจำนวนการดำเนินการขั้นต่ำที่จำเป็นในการแสดงคอนเสิร์ตจาก word1 ถึง word2 การดำเนินการสามารถมีได้สามประเภท ได้แก่ การแทรกอักขระ ลบอักขระ และแทนที่อักขระ ดังนั้นหากสตริงอินพุตเป็น ประเมิน และ ผันผวน ผลลัพธ์จะเป็น 5 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้
สมมติว่าเรามีสตริง S และ T เราต้องหาหน้าต่างขั้นต่ำใน S ซึ่งจะมีอักขระทั้งหมดใน T ดังนั้นหากอินพุตเป็นเหมือน “ABHDAXCVBAGTXATYCB” และ T =“ABC” ผลลัพธ์จะเป็น:“ CVBA”. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สร้างหนึ่งแผนที่ m เก็บความถี่ของ x เป็น m length :=ขนาดของ s, left :=0, right
สมมติว่าเรามีเมทริกซ์ไบนารี 2D โดยมีค่า 0s และ 1 เราต้องหาสี่เหลี่ยมที่ใหญ่ที่สุดที่มี 1 วินาทีแล้วคืนพื้นที่ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้- กำหนดฟังก์ชันที่เรียกว่า getAns ซึ่งจะใช้อาร์เรย์ a สร้าง stack st, i :=0, ans :=0 ในขณะที่ฉัน <ขนาดของ a แล้ว =ด้านบนของ stack ให้ใส่
สมมติว่าเรามีสามสตริง s1, s2 และ s3 จากนั้นตรวจสอบว่า s3 เกิดขึ้นจากการสลับระหว่าง s1 และ s2 หรือไม่ ดังนั้นหากสตริงเป็น “aabcc”, s2 =“dbbca” และ s3 คือ “aadbbcbcac” ผลลัพธ์จะเป็นจริง เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการหนึ่งที่เรียกว่า Solve() ซึ่งจะใช้เวลา s1, s2, s3 และอา
สมมติว่าเรามีแผนผังการค้นหาแบบไบนารีหนึ่งรายการ ตอนนี้ให้พิจารณาสององค์ประกอบของ BST ที่สลับกัน ดังนั้นเราต้องกู้คืนโครงสร้างการค้นหาแบบไบนารีนี้ ดังนั้นหากต้นไม้ที่ให้มาเป็นเหมือนด้านล่าง (อันแรก) ต้นไม้ที่กู้คืนจะเป็น (อันที่สอง) - เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดการอ้างอิ
สมมติว่าเรามีสตริง S และ T เราต้องนับจำนวนลำดับที่แตกต่างกันของ S ซึ่งเท่ากับ T เรารู้ว่าส่วนย่อยของสตริงเป็นสตริงใหม่ที่สร้างขึ้นจากสตริงดั้งเดิมโดยการลบอักขระบางตัว (ไม่สามารถเป็นได้) โดยไม่รบกวนตำแหน่งสัมพัทธ์ของอักขระที่เหลือ (เช่น ACE เป็นผลสืบเนื่องมาจาก ABCDE ในขณะที่ AEC ไม่ใช่) หากสตริงอิ
สมมติว่าเรามีสตริง s เราต้องหาจำนวนการตัดที่จำเป็นในการแบ่งสตริงนี้ออกเป็นสตริงย่อยที่แตกต่างกัน และแต่ละส่วนจะเป็นพาลินโดรม ดังนั้นถ้าสตริงเป็นเหมือน aabba ให้ตัด 2 ครั้ง [aba|bb|a] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=จำนวนอักขระในสตริง s สร้างหนึ่งอาร์เรย์ที่เรียกว่า res ขนาด n
สมมุติว่ามีเด็ก N คน กำลังยืนเข้าแถว ที่นี่เด็กแต่ละคนจะได้รับการกำหนดค่าการให้คะแนน เรากำลังจัดหาขนมให้กับเด็กเหล่านี้ภายใต้ข้อกำหนดดังต่อไปนี้ - เด็กแต่ละคนต้องมีขนมอย่างน้อยหนึ่งชิ้น เด็กที่มีคะแนนสูงจะได้รับขนมมากกว่าเพื่อนบ้าน เราต้องหาจำนวนขนมขั้นต่ำที่เราต้องให้หรือไม่ ดังนั้นหากอิน
สมมุติว่าเรามีเครื่องบิน 2 มิติ เราต้องหาจำนวนจุดที่อยู่บนเส้นตรงเดียวกันมากที่สุด ดังนั้นหากคะแนนเป็นเช่น − แล้วมี 4 จุด เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=จำนวนแต้ม ถ้า n <3 ให้คืนค่า n ตอบ :=2 สำหรับผมอยู่ในช่วง 1 ถึง n – 1 นับ :=0 เอาสองจุดจากดัชนี i และ i – 1 นี
สมมติว่าเรามีอาร์เรย์ที่จัดเรียงแล้ว ตอนนี้มีการหมุนที่จุดหมุนบางส่วน เดือยไม่เป็นที่รู้จักมาก่อน เราต้องหาองค์ประกอบขั้นต่ำจากอาร์เรย์นั้น ดังนั้นหากอาร์เรย์เป็นแบบ [4,5,5,5,6,8,2,3,4] อิลิเมนต์ขั้นต่ำคือ 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการหนึ่งที่เรียกว่า search() ซึ่งต
สมมติว่าเรามีอาร์เรย์ที่ไม่ได้เรียงลำดับ เราต้องหาความแตกต่างสูงสุดระหว่างองค์ประกอบที่ต่อเนื่องกันในรูปแบบการเรียงลำดับ เราจะคืนค่า 0 หากอาร์เรย์มีองค์ประกอบน้อยกว่า 2 รายการ ดังนั้นหากอาร์เรย์เป็นเหมือน [12,3,9,1,17] ผลลัพธ์จะเป็น 6 เนื่องจากอาร์เรย์ที่จัดเรียงจะเป็น [1,3,9,12,17] ดังนั้น 5 จะเป็น
สมมุติว่ามีเรื่องราวเหมือนปีศาจจับเจ้าหญิงที่ชื่อ P และขังเธอไว้ที่มุมล่างขวาของคุกใต้ดิน ดันเจี้ยนประกอบด้วยห้องแถว M, ห้องเหมือนตาราง N คอลัมน์ อัศวินผู้กล้าหาญของเราชื่อ K อยู่ในห้องซ้ายบนสุดในตอนแรก และต้องต่อสู้ฝ่าดันเจี้ยนเพื่อช่วยเจ้าหญิง ตอนนี้อัศวินมีคะแนนสุขภาพเริ่มต้นที่แสดงด้วยจำนวนเต็ม
สมมติว่าเรามีอาร์เรย์ที่องค์ประกอบที่ i คือราคาของหุ้นที่กำหนดสำหรับวันที่ i เราต้องสร้างอัลกอริทึมเพื่อหากำไรสูงสุด เราสามารถทำธุรกรรมได้สูงสุด k รายการ ดังนั้นหากอินพุตเป็นเหมือน [3,2,6,4,0,3] และ k =2 แล้วผลลัพธ์จะเป็น 7 เช่น ซื้อในวันที่ 2 (เมื่อราคา =2) และขายในวันที่ 3 (เมื่อราคา =6) กำไรจะเป็
สมมติว่าเรามีสตริง s เราสามารถแปลงเป็นพาลินโดรมได้โดยการเพิ่มอักขระไว้ข้างหน้า เราต้องหา palindrome ที่สั้นที่สุด ที่เราจะหาข้อมูลนี้ได้ ดังนั้นหากสตริงเป็นเหมือน “abcc” ผลลัพธ์จะเป็น − ccbabcc เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=ขนาดของ s, s1 :=s, s2 :=s ย้อนกลับสตริง s2 s2 :
สมมติว่าเราต้องการสร้างเครื่องคิดเลขพื้นฐานหนึ่งเครื่องที่จะหาผลลัพธ์ของนิพจน์พื้นฐาน นิพจน์สามารถใส่วงเล็บเปิดและปิด บวกหรือลบสัญลักษณ์และช่องว่าง ดังนั้นหากสตริงเป็นแบบ “5 + 2 - 3” ผลลัพธ์จะเป็น 7 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ret :=0, sign :=1, num :=0, n :=size of s กำหนดห
สมมติว่าเรามีตัวเลข n เราต้องนับจำนวนรวมของหลัก 1 ที่ปรากฏในตัวเลขที่ไม่ติดลบทั้งหมดน้อยกว่าหรือเท่ากับ n ดังนั้นหากอินพุตคือ 15 ผลลัพธ์จะเป็น 8 เพราะตัวเลขที่มี 1 คือ [1,10,11,12,13,14,15] จึงมี 8 1 วินาที เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ยกเลิก :=0 สำหรับการเริ่มต้น i :=1 เมื่อ
สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums มีหน้าต่างบานเลื่อนขนาด k ซึ่งเคลื่อนจากด้านซ้ายของอาร์เรย์ไปทางขวา เราจะเห็นเฉพาะตัวเลข k ในหน้าต่างเท่านั้น แต่ละครั้งที่หน้าต่างบานเลื่อนเลื่อนไปทางด้านขวาทีละตำแหน่ง เราต้องหาหน้าต่างบานเลื่อนสูงสุด ดังนั้นหากอินพุตเป็น −[1,3,-1,-3,5,3,6,8] และ k คือ 3 หน้าต
สมมติว่าเรามีสตริงที่เก็บเฉพาะตัวเลขตั้งแต่ 0 ถึง 9 และให้ค่าเป้าหมายหนึ่งค่า เราต้องคืนค่าความเป็นไปได้ทั้งหมดเพื่อเพิ่มตัวดำเนินการไบนารี +, - และ * ลงในตัวเลขเพื่อรับค่าเป้าหมาย ดังนั้นหากอินพุตเป็น “232” และเป้าหมายคือ 8 คำตอบจะเป็น [“2*3+2”, “2+3*2”] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้