หน้าแรก
หน้าแรก
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาความยาวสูงสุดของรายการย่อยที่เพิ่มขึ้นต่อเนื่องกันอย่างเคร่งครัด เมื่อเราสามารถลบองค์ประกอบหนึ่งหรือศูนย์ออกจากรายการได้ ดังนั้นหากอินพุตเป็น nums =[30, 11, 12, 13, 14, 15, 18, 17, 32] ผลลัพธ์จะเป็น 7 เช่นเดียวกับเมื่อเราลบ 18 ในรายการเราจะได้ [11,
สมมติว่าเรามีสตริงตัวพิมพ์เล็ก s เราต้องหาจำนวนสตริง pizza ที่เราสามารถสร้างโดยใช้อักขระที่อยู่ใน s เราสามารถใช้อักขระในลำดับใดก็ได้ แต่แต่ละอักขระสามารถใช้ได้เพียงครั้งเดียว ดังนั้น หากอินพุตเป็นเหมือน ihzapezlzzilaop ผลลัพธ์จะเป็น 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - p_freq :=ความถี่ข
สมมติว่าเรามีรายการตัวเลข เราต้องหาผลคูณที่ใหญ่ที่สุดของสององค์ประกอบ ดังนั้นหากอินพุตเป็น [5, 3, 7, 4] เอาต์พุตจะเป็น 35 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - curr_max :=-inf สำหรับฉันในช่วง 0 ถึงขนาดของ nums - 1 ทำ สำหรับ j ในช่วง i+1 ถึงขนาดของ nums - 1 ทำ curr_max แล้ว curr_max :=nums
สมมติว่าเรามีรายการของตัวเลขที่เรียกว่า nums เราต้องแบ่งออกเป็นสองส่วนที่มีขนาดเท่ากัน โดยที่ความแตกต่างระหว่างค่ามัธยฐานของแต่ละรายการมีค่าน้อยที่สุด และเราต้องหาความแตกต่างนี้ เราต้องจำไว้ว่าความยาวของ nums / 2 จะเป็นเลขคี่ ดังนั้นหากอินพุตเป็น [2, 10, 8, 5, 4, 7] ผลลัพธ์จะเป็น 2 เนื่องจากเราสามา
สมมติว่าเรามีรายการที่เรียงลำดับสองรายการ A และ B เราต้องรวมเข้าด้วยกันและสร้างรายการที่จัดเรียงเพียงรายการเดียว C ขนาดของรายการอาจแตกต่างกัน ตัวอย่างเช่น สมมติว่า A =[1,2,4,7] และ B =[1,3,4,5,6,8] จากนั้นรายการที่รวม C จะเป็น[1,1,2,3,4, 4,5,6,7,8] เราจะแก้ปัญหานี้โดยใช้การเรียกซ้ำ ดังนั้นฟังก์ชัน
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาต้นทุนขั้นต่ำเพื่อจัดเรียงรายการในลำดับใดๆ (จากน้อยไปมากหรือมากไปหาน้อย) ค่าใช้จ่ายคือผลรวมของความแตกต่างระหว่างมูลค่าเก่ากับค่าใหม่ขององค์ประกอบใดๆ ดังนั้นหากอินพุตเป็น [2, 5, 4] ผลลัพธ์จะเป็น 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - temp:
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีองค์ประกอบใดบ้างที่มีความถี่ในรายการเท่ากับค่าของมันหรือไม่ ดังนั้น หากอินพุตเป็น [2, 4, 8, 10, 4, 4, 4] เอาต์พุตจะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - res :=แผนที่ใหม่เพื่อเก็บค่าความถี่ที่ชาญฉลาด สำหรับแต่ละคู่ของค่า
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums of size n โดยที่ตัวเลขทั้งหมดในรายการจะอยู่ในช่วงเวลา [1, n] องค์ประกอบบางอย่างอาจปรากฏขึ้นสองครั้ง ในขณะที่บางรายการอาจมีเพียงครั้งเดียว เราต้องหาตัวเลขทั้งหมดจาก [1, n] ที่ไม่อยู่ในรายการ เราต้องส่งคืนตัวเลขที่เรียงลำดับจากน้อยไปมาก เราต้องพยายามหาวิธีแก้ป
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องจัดเรียงอาร์เรย์โดยรักษาเกณฑ์ต่อไปนี้ เลขคู่จะเรียงลำดับจากน้อยไปมาก เลขคี่เรียงลำดับจากมากไปหาน้อย ไม่ควรเปลี่ยนตำแหน่งสัมพัทธ์ของเลขคู่และเลขคี่ ดังนั้น หากอินพุตเป็น [9, 14, 12, 91, -4, 5] ผลลัพธ์จะเป็น [91, -4, 12, 9, 14, 5] เพื่อแก้ปัญหานี้ เ
สมมติว่าเรามีตัวเลข n; เราต้องตรวจสอบว่าผลรวมของหลัก n ยกกำลังของจำนวนหลัก เท่ากับหรือไม่ ดังนั้น หากอินพุตเป็น 9474 ผลลัพธ์จะเป็น True เป็น 9^4 + 4^4 + 7^4 + 4^4 =6561 + 256 2401 + 256 =9474 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - s :=รายการหลักใน n คืนค่า จริง หาก n เท่ากับผลรวมของ x*(ขนาด
สมมติว่าเรามี BST และเรายังมีขอบเขตซ้ายและขวา l และ r เราต้องหาจำนวนโหนดทั้งหมดในรูทที่มีค่าอยู่ระหว่าง l และ r (รวม) ดังนั้นหากอินพุตเป็นแบบ l =7, r =13 จากนั้นผลลัพธ์จะเป็น 3 เนื่องจากมีสามโหนด:8, 10, 12 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้- stack :=a stack และใส่ root ในตอนแรก นับ :
สมมติว่าเรามีตัวเลข n แทนกระดานหมากรุกขนาด n x n เราต้องหาหลายวิธีที่จะวาง n rooks เพื่อไม่ให้โจมตีซึ่งกันและกัน ที่นี่สองวิธีจะถือว่าแตกต่างกันหากในวิธีใดวิธีหนึ่ง เซลล์ของกระดานหมากรุกบางส่วนถูกครอบครอง และอีกวิธีหนึ่ง เซลล์จะไม่ถูกครอบครอง (เราทราบดีว่าโจรโจมตีกันเองได้หากอยู่แถวเดียวกันหรือแถวเด
สมมุติว่าเรามีตัวเลข n, เราต้องหาเทอมฟีโบนักชีที่ n ดังที่เราทราบแล้วว่าเทอม ith Fibonacci f(i) =f(i-1) + f(i-2) สองเทอมแรกคือ 0, 1 ดังนั้นหากอินพุตเท่ากับ 15 เอาต์พุตจะเป็น 610 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - แรก :=0, วินาที :=1 สำหรับฉันในช่วง 2 ถึง n ทำ อุณหภูมิ :=แรก + วินาที ครั
สมมติว่าเรามีตัวเลข n เราต้องหาจำนวนบิต 1 ที่มีอยู่ในการแทนค่าไบนารีของตัวเลขนั้น ดังนั้นหากอินพุตเท่ากับ 12 เอาต์พุตจะเป็น 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - นับ :=0 ในขณะที่ n ไม่ใช่ศูนย์ ให้ทำ นับ :=นับ + (n AND 1) n :=ชั้นของ (n / 2) จำนวนคืนสินค้า ให้เราดูการใช้งานต่อไปนี้เพื
สมมติว่าเรามีต้นไม้ไบนารีที่มีค่าที่ไม่ซ้ำกันและเรามีค่าอื่น k เราต้องหาจำนวนเส้นทางที่ไม่ซ้ำกันความยาว k ในต้นไม้ เส้นทางสามารถไปได้ทั้งจากผู้ปกครองไปยังเด็กหรือจากเด็กไปยังผู้ปกครอง เราจะพิจารณาสองเส้นทางที่แตกต่างกันเมื่อบางโหนดปรากฏในเส้นทางหนึ่ง แต่ไม่ใช่อีกเส้นทางหนึ่ง ดังนั้นหากอินพุตเป็นแบบ
สมมติว่าเรามีสตริงที่เป็นตัวพิมพ์เล็ก เราต้องหาจำนวนสตริงย่อยทั้งหมดที่มีอักขระที่ไม่ซ้ำกันหนึ่งตัว ดังนั้น หากอินพุตเป็นเหมือน xxyy ผลลัพธ์จะเป็น 6 เนื่องจากสตริงย่อยคือ [x, x, xx, y, y, yy] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - รวม :=0 ก่อนหน้า :=สตริงว่าง สำหรับแต่ละอักขระ c ใน s ทำ ถ้า
สมมติว่าเรามีตัวเลข n หนึ่งตัว เราต้องหาผลรวมของเลขคี่ที่เป็นบวก n ตัวแรก ดังนั้น หากอินพุตเท่ากับ 7 ผลลัพธ์จะเป็น 49 เนื่องจาก [1+3+5+7+9+11+13] =49 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้า n เหมือนกับ 0 แล้ว คืน 0 ผลรวม :=1 นับ :=0, อุณหภูมิ :=1 ขณะนับ
สมมติว่าเรามีรายการจำนวนบวกที่เรียกว่า nums เราต้องหาจำนวนองค์ประกอบที่มีจำนวนหลักเป็นคี่ ดังนั้น หากอินพุตเป็น [1, 300, 12, 10, 3, 51236, 1245] ผลลัพธ์จะเป็น 4 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - c:=0 สำหรับ i ในช่วง 0 ถึงขนาดของ nums ให้ทำ s:=จำนวนหลักของ nums[i] ถ้า s เป็นเลขคี่ c:=c+
สมมติว่าเรามีสตริงที่เก่ากว่าและสตริงที่ใหม่กว่า ทั้งสองแสดงเวอร์ชันแพ็คเกจซอฟต์แวร์ในรูปแบบ major.minor.patch เราต้องตรวจสอบว่าเวอร์ชันที่ใหม่กว่านั้นใหม่กว่าเวอร์ชันเก่าหรือไม่ ดังนั้น หากอินพุตเหมือนเก่า =7.2.2, ใหม่กว่า =7.3.1 ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เก
สมมติว่าเรามีรายการจำนวนบวก nums เราต้องหาจำนวนคู่ของดัชนีที่ถูกต้อง (i, j) โดยที่ i