หน้าแรก
หน้าแรก
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ที่มีอย่างน้อยหนึ่งองค์ประกอบที่มีค่าเป็น 1 เราต้องตรวจสอบว่า 1 ทั้งหมดปรากฏติดต่อกันหรือไม่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8, 2, 1, 1, 1, 3, 5] ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เข้าชมแล้ว :=0 สำหรับแต่ละ x เป็นตั
สมมติว่าเรามีรายการตัวเลขที่บอกว่า nums เราต้องหาจำนวนองค์ประกอบ x ในอาร์เรย์ เพื่อให้ x + 1 มีอยู่ในอาร์เรย์ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[4, 2, 3, 3, 7, 9] เอาต์พุตจะเป็น 3 เนื่องจากมี 2+1 =3 จึงมี 3+1 =4 และอีก 3 คือ ปัจจุบันทั้งหมด 3. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ตอบ
สมมติว่าเรามีรายการองค์ประกอบที่เรียกว่า nums ขนาด n + 1 ซึ่งถูกเลือกจากช่วง 1, 2, ..., n อย่างที่เราทราบกันดีอยู่แล้วว่าโดยหลักการของหลุมพรางนั้นจะต้องมีการซ้ำซ้อน เราต้องหาที่ซ้ำกัน เป้าหมายของเราคือค้นหาภารกิจในเวลา O(n) และพื้นที่คงที่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2,1,4,3,5,4] ผลลัพธ์จะ
สมมติว่าเรามีชุดจุดคาร์ทีเซียนในรายการที่เรียกว่าจุด เราต้องจัดเรียงพวกมันตามมุมขั้วของพวกมัน มุมขั้วจะแตกต่างกันไปในช่วง 0 และ 2*PI หากบางจุดมีมุมขั้วเท่ากัน ให้จัดเรียงตามระยะห่างของจุดนั้นจากจุดกำเนิด ดังนั้น ถ้าอินพุตเหมือนกับ points =[(1,1), (1,-2),(-2,2),(5,4),(4,5),(2,3),(- 3,4)], จากนั้น
สมมติว่าเรามีสองรายการ nums1 และ nums2 โดยที่แต่ละองค์ประกอบในทั้งสองรายการในช่วง 1 ถึง 6 ตอนนี้ให้พิจารณาการดำเนินการที่เราสามารถเลือกตัวเลขจาก nums1 หรือ nums2 และอัปเดตค่าเป็นตัวเลขระหว่าง 1 ถึง 6 เราต้องหาจำนวนขั้นต่ำของการดำเนินการที่จำเป็นเพื่อให้ผลรวมของสองอาร์เรย์นี้เท่ากัน หากเราหาวิธีแก้ปั
สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราต้องหาจำนวนคู่ i
สมมติว่าเรามีตัวเลข n เราต้องหาค่าบวกน้อยที่สุด x โดยที่ x ประกอบด้วยตัวเลขสองหลักคือ 9 และ 0 และ x คือผลคูณของ n ดังนั้น หากอินพุตเท่ากับ n =26 เอาต์พุตจะเป็น 90090 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ม :=9 x :=1 ในขณะที่ m ไม่หารด้วย n ลงตัว ให้ทำ x :=x + 1 m :=แทนที่ 1s ทั้งหมดด้วย 9s
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีองค์ประกอบที่มีความถี่เท่ากับค่าของมันหรือไม่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2,5,7,5,3,5,3,5,9,9,5] ผลลัพธ์จะเป็น True เพราะ 5 ปรากฏขึ้น 5 ครั้ง เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - nums_c :=รายการที่มีความถี่ของแต่ละองค
สมมติว่าเรามีรายการขององค์ประกอบที่เรียกว่า nums เราต้องตรวจสอบว่าตัวเลขทั้งหมดปรากฏคู่กันหรือไม่ เราต้องแก้โดยใช้ช่องว่างคงที่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8, 9, 9, 8, 5, 5] ผลลัพธ์จะเป็น True เพราะตัวเลขทั้งหมดเกิดขึ้นสองครั้ง เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้าขนาดของตัว
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ซึ่งมีความยาวอย่างน้อย 2 เราต้องหาดัชนีของทุกยอดในรายการ รายการจะเรียงลำดับจากน้อยไปมาก ดัชนี i เป็นจุดสูงสุดเมื่อ − nums[i + 1] เมื่อ i =0 nums[i - 1] เมื่อ i =n - 1 nums[i - 1] nums[i + 1] อื่น ๆ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[5, 6, 7, 6
สมมติว่าเรามีตัวเลขบอกว่า n เราต้องตรวจสอบว่า n มีอยู่ในลำดับฟีโบนักชีหรือไม่ ดังที่เราทราบในลำดับฟีโบนักชี f(i) =f(i-1) + f(i-2) สำหรับแต่ละ i ตั้งแต่ 2 ถึง n และ f(0) =0, f(1) =1 ดังนั้น หากอินพุตมีค่าเท่ากับ n =13 ผลลัพธ์จะเป็น True เนื่องจากบางพจน์ในลำดับฟีโบนักชีคือ:0, 1, 1, 2, 3, 5, 8, 13, 21
สมมติว่าเรามีรายการตัวเลขที่เรียกว่าห้องและค่าเป้าหมายอื่น t เราต้องหาค่าแรกในห้องที่มีค่าอย่างน้อย t หากไม่มีห้องดังกล่าว ให้ส่งคืน -1 ดังนั้น หากอินพุตเป็นเหมือนห้อง =[20, 15, 35, 55, 30] t =30 เอาต์พุตจะเป็น 35 เนื่องจาก 30 มีขนาดเล็กกว่า 35 และห้องก่อนหน้าไม่เพียงพอสำหรับเป้าหมาย 30 เพื่อแก้ปั
สมมติว่าเรามีรายการองค์ประกอบที่เรียกว่า nums ซึ่งรายการทั้งหมดไม่ซ้ำกัน และเรียงลำดับจากน้อยไปมาก เราต้องหาค่าต่ำสุด i ที่ nums[i] =i หากเราไม่พบวิธีแก้ปัญหาใดๆ ให้คืนค่า -1 เราต้องแก้ปัญหานี้ในเวลา O(log(n)) ดังนั้น หากอินพุตเท่ากับ nums =[-4, -1, 2, 3, 8] เอาต์พุตจะเป็น 2 เพราะทั้ง nums[2] =2 แล
สมมติว่าเรามีสตริง s ที่มีตัวพิมพ์เล็ก เราต้องหาทั้งหมดที่จะต้องมีสตริงย่อยอื่นใน s ที่ตำแหน่งอื่นซึ่งเป็นแอนนาแกรมของสตริงย่อยที่รับ เราต้องหารายการของสตริงย่อยตามลำดับพจนานุกรม ดังนั้น หากอินพุตเป็น s =abcba ผลลัพธ์จะเป็น [a, a, ab, abc, abcb, b, b, ba , bc, bcba, cb, cba] สำหรับแต่ละรายการ เราสา
สมมติว่าเรามีอินพุตสองตัว n และ k เราต้องตรวจสอบว่า n สามารถแสดงเป็นผลรวมของค่าเฉพาะจำนวน k ได้หรือไม่ ดังนั้น หากอินพุตเป็นเหมือน n =30 k =3 เอาต์พุตจะเป็น True เพราะ 30 สามารถแสดงได้เหมือน 2 + 11 + 17 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้า n
สมมติว่าเรามีรายการองค์ประกอบที่เรียกว่า nums เราต้องหาค่าบวกที่ใหญ่ที่สุดที่หารจำนวนเต็มแต่ละตัว ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[15, 81, 78] ผลลัพธ์จะเป็น 3 เนื่องจาก 3 เป็นจำนวนเต็มที่มากที่สุดที่หารทั้งหมด 15, 81 และ 78 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้าขนาดของตัวเลขเท่ากั
สมมติว่าเรามีรายการที่เรียกว่า nums เราต้องหาดัชนีที่เล็กที่สุด i เพื่อให้ผลรวมของตัวเลขทางด้านซ้ายของ i เท่ากับผลรวมของตัวเลขที่อยู่ทางด้านขวาของ i หากเราไม่พบวิธีแก้ปัญหาดังกล่าว ให้คืนค่า -1 ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8,2,3,6,5,2,5,9,1,2] ผลลัพธ์จะเป็น 4 เนื่องจากผลรวมขององค์ประกอบที่เ
สมมติว่าเรามีสองสตริง s1 และ s2 เราต้องหาขนาดของสตริงที่ยาวที่สุด s3 ซึ่งเป็นสตริงย่อยพิเศษของทั้ง s1 และ s2 เราสามารถพูดได้ว่าสตริง x เป็นสตริงย่อยพิเศษของสตริง y อื่น หากสามารถสร้าง x ได้โดยการลบอักขระ 0 ตัวขึ้นไปจาก y ดังนั้น หากอินพุตเป็นเหมือน s1 =pineapple s2 =people ผลลัพธ์จะเป็น 5 เนื่องจา
สมมติว่าเรามีรายการองค์ประกอบ องค์ประกอบเหล่านี้ถูกจัดเก็บไว้ในรายการที่เชื่อมโยงเพียงอย่างเดียว เรายังมีค่า pos และค่า val เราต้องใส่ val ก่อน index pos ของลิงค์ลิสต์ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[1,5,3,6,8] pos =3 val =7 ผลลัพธ์จะเป็น [1,5,3,7,6,8] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่าน
สมมติว่าเรามีตัวเลข n พิจารณา x =rand() mod n โดยที่ฟังก์ชัน rand() สร้างจำนวนเต็มระหว่าง 0 ถึง 10^100 (รวมทั้งสองอย่าง) อย่างสม่ำเสมอโดยสุ่ม และ $$Y =\sqrt{x+\sqrt{x+\sqrt{x+\sqrt{x+...}}}$$ เราต้องหาค่าคาดหวังของ Y ค่าของ n จะอยู่ในช่วง 1 และ 5*10^6 ดังนั้น หากอินพุตเท่ากับ n =5 เอาต์พุตจะเป็น