หน้าแรก
หน้าแรก
สมมติว่าเรามีหมายเลขอาร์เรย์ที่เรียงลำดับแล้ว เราต้องลบรายการที่ซ้ำกันออกเพื่อให้องค์ประกอบที่ซ้ำกันปรากฏอย่างมากที่สุดสองครั้งและส่งคืนความยาวใหม่ ในการทำงานนี้เราไม่สามารถใช้พื้นที่พิเศษได้ เราต้องแก้ปัญหานี้ด้วยพื้นที่ O(1) ตัวอย่างเช่น ถ้าอาร์เรย์เป็นเหมือน [0,0,0,1,1,1,1,2,3,3] ผลลัพธ์จะเป็น [0
พิจารณาว่าเรามีอาร์เรย์ที่เรียงลำดับจากน้อยไปมาก นั่นคือการหมุนที่จุดหมุนที่เราไม่รู้จักล่วงหน้า ตัวอย่างเช่น ถ้าอาร์เรย์เป็นเหมือน [0,0,1,2,2,5,6, นี่อาจกลายเป็น [2,5,6,0,0,1,2] เรามีค่าเป้าหมายในการค้นหา หากพบในอาร์เรย์ ให้คืนค่า จริง ไม่เช่นนั้น ให้คืนค่า เท็จ ดังนั้นหากอาร์เรย์เป็นเหมือน [2,5,6,
ในปัญหานี้ เราได้รับตัวเลขสองตัว n และ k งานของเราคือพิมพ์ kth บิตที่มีนัยสำคัญน้อยที่สุดของจำนวน n. มาดูตัวอย่างทำความเข้าใจปัญหากัน Input: n = 12 , k = 3 Output 1 Explanation: Let’s see the binary representation of n: 12 = 1100 ตอนนี้ บิตที่มีนัยสำคัญน้อยที่สุดที่ 3 คือ 1 เพื่อแก้ปัญหานี้
สมมติว่าเรามีรายการองค์ประกอบบางอย่าง เราต้องลบองค์ประกอบทั้งหมดที่เกิดขึ้นมากกว่าหนึ่งครั้ง ดังนั้นเฉพาะองค์ประกอบที่แตกต่างกันเท่านั้นที่จะยังคงอยู่ในรายการ ดังนั้นหากรายการเป็นเช่น [1,1,1,2,2,3,5,6,6,7,8] ผลลัพธ์จะเป็น [3,5,7,8] องค์ประกอบอื่น ๆ ทั้งหมดที่มีอยู่ มากกว่าหนึ่งครั้ง ให้เราดูขั้นตอน
ในปัญหานี้ เราได้รับตัวเลข n งานของเราคือการพิมพ์หมายเลขปฐมภูมิ หมายเลขหลัก (Pn#) คือจำนวนที่เป็นผลคูณของจำนวนเฉพาะ n ตัวแรก จำนวนดั้งเดิมคล้ายกับแฟกทอเรียลของจำนวน n ข้อแตกต่างคือแฟคทอเรียลสามารถเป็นจำนวนใดก็ได้ แต่ในกรณีของจำนวนเฉพาะ จะใช้จำนวนเฉพาะทั้งหมด มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
สมมติว่าเรามีชุดตัวเลข เราต้องสร้างชุดย่อยที่เป็นไปได้ทั้งหมดของชุดนั้น นี้เรียกว่าชุดพลังงาน เราต้องจำไว้ว่าองค์ประกอบอาจซ้ำกัน ดังนั้นหากเซตเป็นเหมือน [1,2,2] เซตกำลังจะเป็น [[], [1], [2], [1,2], [2,2], [1,2,2 ]] ให้เราดูขั้นตอน - กำหนดความละเอียดอาร์เรย์หนึ่งชุดและอีกชุดหนึ่งเรียกว่า x เราจะแก้
ในปัญหานี้ เราได้รับจำนวนเฉพาะ N หน้าที่ของเราคือพิมพ์รากดั้งเดิมของจำนวนเฉพาะ N โมดูโล N รากดั้งเดิม ของจำนวนเฉพาะ N คือจำนวนเต็ม x ที่วางอยู่ระหว่าง [1, n-1] โดยที่ค่าทั้งหมดของ xk (mod n) โดยที่ k อยู่ใน [0, n-2] จะไม่ซ้ำกัน มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน Input: 13 Output: 2 ในการแก้ปัญ
ในปัญหานี้ เราได้รับตัวเลข N หน้าที่ของเราคือพิมพ์ไพรม์แฝดทั้งหมดที่น้อยกว่า N แฝดสาม เป็นเซตของจำนวนเฉพาะสามตัว นั่นคือรูปแบบ (p, p+2, p+6) หรือ (p, p+4, p+6) จำนวนเฉพาะทั้งหมดถูกจัดกลุ่มตามแฝดสามข้างต้น เนื่องจากทุกจำนวนเฉพาะที่สามในรูปแบบโดยตรงนั้นเป็นผลคูณของ 6 มาดูตัวอย่างเพื่อทำความเข้าใจปัญ
สมมติว่าเรามีรายการเชื่อมโยง เราต้องย้อนกลับโหนดจากตำแหน่ง m ถึง n เราต้องทำในครั้งเดียว ดังนั้นหากรายการคือ [1,2,3,4,5] และ m =2 และ n =4 ผลลัพธ์จะเป็น [1,4,,3,2,5] ให้เราดูขั้นตอน - จะมีสองวิธี คือ reverseN() และ reverseBetween() reverseBetween() จะทำงานเป็นวิธีการหลัก กำหนดตัวชี้โหนดลิงก์หนึ่งต
ในปัญหานี้ เราได้รับสตริง งานของเราคือการพิมพ์ ใช่ / ไม่ใช่ ขึ้นอยู่กับเป็นผลรวมของค่า ASCII ของตัวอักษรในสตริงเป็นจำนวนเฉพาะหรือไม่ ค่า ASCII คือการเข้ารหัสอักขระ เลขเด่น เป็นตัวเลขที่หารด้วยตัวมันเองเท่านั้นและ 1. มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน Input: string = “Hello” Output:
ในปัญหานี้ เราได้รับตัวเลข N หน้าที่ของเราคือพิมพ์จุดเฉพาะทั้งหมดของตัวเลข มิฉะนั้นให้พิมพ์ -1 หากไม่มีจุดสำคัญ คะแนนพิเศษ คือค่าดัชนีที่แยกตัวเลขออกเป็นสองจำนวนเฉพาะ ตัวแรกอยู่ทางซ้ายและอีกตัวอยู่ทางขวา มาดูตัวอย่างทำความเข้าใจปัญหากัน Input: 2359 Output: 1 คำอธิบาย :เมื่อแยกตัวเลขที่ดัชนี 1 เรา
ในปัญหานี้ เราได้รับตัวเลข n งานของเราคือพิมพ์ตัวเลขเฉพาะและฟีโบนักชีที่น้อยกว่าหรือเท่ากับ n มาดูตัวอย่างทำความเข้าใจปัญหากัน Input: n = 30 Output: 2 3 5 13 คำอธิบาย ตัวเลขฟีโบนักชีที่น้อยกว่า 30 ได้แก่ :1 1 2 3 5 8 13 21 จากจำนวนเหล่านี้ จำนวนเฉพาะคือ 2 3 5 13 เพื่อแก้ปัญหานี้ เราต้องตรวจสอบ
พิจารณาว่าเรามีรายการเชื่อมโยง และเราต้องตรวจสอบว่ามีวงจรหรือไม่ เพื่อแสดงวัฏจักรในรายการที่เชื่อมโยงที่กำหนด เราจะใช้ตัวชี้จำนวนเต็มหนึ่งตัวที่เรียกว่า pos ตำแหน่งนี้แสดงถึงตำแหน่งในรายการเชื่อมโยงที่มีการเชื่อมต่อหาง ดังนั้นหากตำแหน่งเป็น -1 แสดงว่าไม่มีวงจรอยู่ในรายการที่เชื่อมโยง ตัวอย่างเช่น รา
ในปัญหานี้ เราได้รับตัวเลขสามตัว ได้แก่ ผลรวม S, เฉพาะ P และ N ภารกิจของเราคือการหาจำนวนเฉพาะ N ทั้งหมดที่มากกว่า P ซึ่งมีผลรวมเท่ากับ S มาดูตัวอย่างเพื่อทำความเข้าใจปัญหาของเรา Input: N = 2, P = 5, S = 18 Output: 7 11 Explanation: Prime numbers greater than 5 : 7 11 13 Sum = 7 + 11 = 18 เพื่อแก้ป
สมมติว่าเรามีต้นไม้ไบนารี เราต้องส่งคืนการสั่งซื้อล่วงหน้าของต้นไม้นั้น ดังนั้นถ้าต้นไม้เป็นเหมือน − จากนั้นการสั่งจองล่วงหน้าจะเป็น:[3,9,20,15,7] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สร้างรายการว่างที่เรียกว่า res and st. โหนด :=รูท ในขณะที่โหนดหรือ st ไม่ว่างเปล่า ในขณะที่โหนดไม่เป็นโ
สมมติว่าเรามีรายการที่เชื่อมโยง เราต้องทำการเรียงลำดับการแทรกในรายการนี้ ดังนั้นหากรายการเป็นแบบ [9,45,23,71,80,55] รายการเรียงเป็น [9,23,45,55,71,80] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - dummy :=โหนดใหม่พร้อมค่าสุ่มบางส่วน โหนด :=รายการที่กำหนด ในขณะที่โหนดไม่เป็นโมฆะ newNode =
ในปัญหานี้ เราได้รับสองจำนวนเต็ม L และ R งานของเราในการพิมพ์ตัวเลขทั้งหมดที่ตั้งค่าบิตนับเป็นจำนวนเฉพาะที่อยู่ระหว่าง L ถึง R มาดูตัวอย่างทำความเข้าใจปัญหากัน Input: L = 7, R = 12 Output: 6 Explanation: 7 -> 111 , set bits = 2, prime number. 8 -> 1000 , set bits = 1, not prime number. 9 ->
ในปัญหานี้ เราได้รับอาร์เรย์ภายในช่วง 1 <=arr[i] <=1012 . งานของเราคือพิมพ์ปัจจัยเฉพาะทั้งหมดของ LCM ขององค์ประกอบทั้งหมดของอาร์เรย์ มาดูตัวอย่างเพื่อทำความเข้าใจปัญหาของเรา Input: array = {2 , 5 , 15} Output: 2 3 5 Explanation: LCM = 30 Factors of 30 = 2 * 3 * 5 ในการแก้ปัญหานี้ เราจะต้องหา LCM ข
สมมติว่ามีอาร์เรย์และมีการจัดเรียง ให้พิจารณาว่าอาร์เรย์ถูกหมุนที่จุดหมุนบางจุด ซึ่งเราไม่รู้จัก ดังนั้นเราจึงต้องหาค่าต่ำสุดจากอาร์เรย์ที่หมุนนั้น ดังนั้นหากอาร์เรย์เป็นแบบ [3,4,5,1,2] ผลลัพธ์จะเป็น 1 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ต่ำ :=0 และสูง :=ดัชนีสุดท้ายของอาร์เรย์ n :=ขนาดขอ
ในปัญหานี้ เราได้รับจำนวนเต็ม N <=10^18 งานของเราคือพิมพ์ตัวประกอบเฉพาะของจำนวนพร้อมกับความถี่ของการเกิด มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน Input: 100 Output: 2 2 5 2 Explanation: prime factorization of 100 = 2 * 2 * 5 * 5. ในการแก้ปัญหานี้ เราจะต้องหาตัวประกอบเฉพาะของตัวเลขแล้วคำน