หน้าแรก
หน้าแรก
สมมติว่าเรามีสตริง str เราต้องหาอักขระที่ไม่ซ้ำตัวสุดท้ายในนั้น ดังนั้นหากสตริงอินพุตเป็นเหมือน การเขียนโปรแกรม ดังนั้นอักขระที่ไม่ซ้ำตัวแรกคือ n หากไม่มีอักขระดังกล่าว ให้คืนค่า -1 เราสามารถแก้ปัญหานี้ได้โดยสร้างอาร์เรย์ความถี่เดียว ซึ่งจะเก็บความถี่ของอักขระแต่ละตัวของสตริงที่กำหนด เมื่อความถี่ได
ให้จำนวนเต็มบวกสองจำนวน n และ k และเราต้องหาจำนวนที่ n ที่มีหลัก k หรือหารด้วย k ลงตัว k จะอยู่ในช่วง [2 ถึง 9] ดังนั้น ถ้า n และ k เป็น 15 และ 3 ตามลำดับ ผลลัพธ์ที่ได้คือ 33 ดังตัวเลข [3, 6, 9, 12, 13, 15, 18, 21, 23, 24, 27, 30, 31, 33] เหล่านี้คือ ตัวเลขที่แต่ละองค์ประกอบมีตัวเลข k =3 หรือการหารด
สมมติว่าเรามีฟังก์ชัน F(n) ที่ F(n) =P – (0.006*n) โดยที่ P จะได้รับเช่นกัน ให้รายการจำนวนเต็มและตัวเลข A ภารกิจคือการค้นหาตัวเลขจากรายการที่กำหนดซึ่งค่าของฟังก์ชันนั้นอยู่ใกล้กับ A มากกว่า ดังนั้นหาก P =12 และ A =5 รายการจะเป็น {1000 , 2000} ดังนั้นเอาต์พุตจะเป็น 1,000 ดังนั้นหาก P =12 และ A =5 ดัง
สมมติว่าเรามีสองสตริง str1 และ str2 ค้นหาคำนำหน้าทั่วไปที่ยาวที่สุดระหว่างคำเหล่านี้หลังจากดำเนินการเป็นศูนย์หรือมากกว่าในสตริงที่สอง ในแต่ละการดำเนินการ เราสามารถสลับตัวอักษรสองตัวใดก็ได้ ดังนั้นถ้า str1 =HERE, str2 =THERE ผลลัพธ์จะเป็น 4 สตริงที่สองสามารถสร้าง HERET ได้โดยเพียงแค่สลับอักขระ ดังนั้
พิจารณาหนึ่งเมทริกซ์ที่ได้รับ เราต้องหาจำนวนโพรงในเมทริกซ์ องค์ประกอบหนึ่งจะแสดงเป็นโพรงเมื่อองค์ประกอบอื่นทั้งหมดที่อยู่รอบ ๆ ตัวนั้นมากกว่าองค์ประกอบ ดังนั้นหากเมทริกซ์เป็นเหมือน − 4 5 6 7 1 5 4 5 6 ผลลัพธ์ที่ได้คือ 1 เราเพียงแค่ตรวจสอบองค์ประกอบโดยรอบและตัดสินใจ ตัวอย่าง #include<iostre
สมมติว่าเรามีเมทริกซ์กำลังสองของลำดับ n มีองค์ประกอบที่แตกต่างกันทั้งหมด ดังนั้นเราจึงต้องหาเส้นทางที่มีความยาวสูงสุด เพื่อให้เซลล์ทั้งหมดบนเส้นทางมีลำดับเพิ่มขึ้นโดยมีผลต่าง 1 จากเซลล์หนึ่ง เราสามารถย้ายไปยังสี่ทิศทางได้ ซ้าย ขวา บน และล่าง ดังนั้นหากเมทริกซ์เป็นเหมือน − 1 2 9 5 3 8 4 6 7 ดัง
สมมติว่าเรามีหนึ่งอาร์เรย์ที่มีองค์ประกอบ n ปัญหาคือการหาอาร์เรย์ย่อยที่ยาวที่สุดซึ่งมีเลขคี่ k ตรงกัน ดังนั้นหาก A =[2, 3, 4, 11, 4, 12, 7] และ k =1 เอาต์พุตจะเป็น 4 อาร์เรย์ย่อยคือ [4, 11, 4, 12] เราสามารถแก้ปัญหานี้ได้โดยใช้หน้าต่างบานเลื่อน งานเป็นเหมือนด้านล่าง - เริ่มต้นสูงสุด :=0, นับ :=0 แ
สมมติว่าเรามีอาร์เรย์ A ที่ไม่เรียงลำดับหนึ่งตัว และตัวเลข x และ y สองตัว เราต้องหาระยะห่างขั้นต่ำระหว่าง x และ y ใน A อาร์เรย์ยังสามารถมีองค์ประกอบที่ซ้ำกันได้ ดังนั้น หากอาร์เรย์คือ A =[2, 5, 3, 5, 4, 4, 2, 3], x =3 และ y =2 ดังนั้นระยะห่างขั้นต่ำระหว่าง 3 ถึง 2 จะเท่ากับ 1 เพื่อแก้ปัญหานี้ เราต้
สมมติว่าเรามีตัวเลข n, และเราต้องหาจำนวนเส้นทแยงมุมสำหรับรูปหลายเหลี่ยมนูนด้าน n ด้าน ดังนั้นหาก n =5 การนับเส้นทแยงมุมจะเป็น 5 เนื่องจากนี่คือรูปหลายเหลี่ยมนูนด้าน n จากจุดยอดแต่ละจุด เราสามารถวาดเส้นทแยงมุม n – 3 เส้น ออกจากจุดยอดที่อยู่ติดกันสองด้านและตัวมันเอง ดังนั้นสำหรับจุดยอด n จุด มันจะเป็
สมมติว่าเรามีจำนวนเต็ม N และ M สองจำนวน เราต้องหาจำนวนขั้นตอนขั้นต่ำในการไปถึง M จาก N โดยดำเนินการตามที่กำหนด - คูณจำนวน x ด้วย 2 ดังนั้น x จะเป็น 2*x ลบหนึ่งจากจำนวน x ดังนั้นจำนวนจะเป็น x – 1 ถ้า N =4 และ M =6 ผลลัพธ์จะเป็น 2 ดังนั้นหากเราดำเนินการหมายเลข 2 บน N ดังนั้น N จะกลายเป็น 3 จากนั้นด
สมมติว่าเรามีหมายเลข N และไม่จำกัดจำนวนเหรียญที่มีมูลค่า 1, 10 และ 25 เหรียญสกุลเงิน ค้นหาจำนวนเหรียญขั้นต่ำที่เราต้องใช้เพื่อจ่ายจำนวน N ให้ตรงกัน สมมติว่า N คือ 14 จากนั้นจำนวนเหรียญจะเป็น 5 เป็นเหรียญมูลค่า 10 เหรียญ 1 เหรียญและเหรียญมูลค่า 1 เหรียญ 4 เหรียญ เพื่อแก้ปัญหานี้ เราต้องใช้ขั้นตอนเหล
สมมติว่าเรามีอาร์เรย์ที่แสดงถึงองค์ประกอบของความก้าวหน้าทางคณิตศาสตร์ตามลำดับ ขาดองค์ประกอบหนึ่ง เราต้องหาองค์ประกอบที่ขาดหายไป ดังนั้นหาก arr =[2, 4, 8, 10, 12, 14] เอาต์พุตคือ 6 เนื่องจากไม่มี 6 โดยใช้การค้นหาแบบไบนารี เราสามารถแก้ปัญหานี้ได้ เราจะไปที่องค์ประกอบตรงกลางแล้วตรวจสอบว่าความแตกต่างระ
สมมติว่าเรามีหนึ่งเมทริกซ์หรือคำสั่ง NxN เราต้องหาคู่ขององค์ประกอบที่สร้างความแตกต่างสูงสุดจากคอลัมน์ใดๆ ของเมทริกซ์ ดังนั้นหากเมทริกซ์เป็นเหมือน − 1 2 3 5 3 5 9 6 7 ดังนั้นผลลัพธ์จะเป็น 8 เนื่องจากทั้งคู่คือ (1, 9) จากคอลัมน์ 0 แนวคิดนี้ง่ายมาก เราต้องหาความแตกต่างระหว่างองค์ประกอบสูงสุดและต
สมมติว่าเรามีอาร์เรย์ที่แสดงถึงองค์ประกอบของความก้าวหน้าทางเรขาคณิตตามลำดับ ขาดองค์ประกอบหนึ่ง เราต้องหาองค์ประกอบที่ขาดหายไป ดังนั้นหาก arr =[1, 3, 27, 81] เอาต์พุตคือ 9 เนื่องจากไม่มี 9 โดยใช้การค้นหาแบบไบนารี เราสามารถแก้ปัญหานี้ได้ เราจะไปที่องค์ประกอบตรงกลางแล้วตรวจสอบว่าอัตราส่วนระหว่างตรงกลา
สมมติว่าเรามีจำนวนเต็มสามจำนวน a, b และ x ภารกิจคือการหาผลคูณของ x ซึ่งใกล้เคียงกับ ab มากที่สุด ดังนั้นหาก a =5, b =4 และ x =3 ผลลัพธ์จะเป็น 624 เนื่องจาก 54 =625 และ 624 คือผลคูณของ 3 ซึ่งใกล้เคียงกับ 625 มากที่สุด งานนี้ง่าย เราต้องทำตามขั้นตอนเหล่านี้เพื่อแก้ปัญหา - คำนวณ num :=ab จากนั้นหา f
1 สำหรับ 1 ทั้งหมด <=i <=N ดังนั้นเมื่อ N =3 และ K =1 ผลลัพธ์จะเป็น 2, 1, 3 และ gcd(2, 1) =1, gcd(1, 2) =1, gcd(3, 3) =3 วิธีการนั้นง่าย เราจะเก็บองค์ประกอบ k สุดท้ายไว้แทนที่ องค์ประกอบที่เหลือจะถูกย้าย เพื่อให้องค์ประกอบ ith จะถูกวางไว้ในตำแหน่งที่ (i + 1) และองค์ประกอบที่ (N - K) จะถูกเก็บไว้ใน
สมมติว่าเรามีตัวเลข n และเราต้องหาการเรียงสับเปลี่ยนของตัวเลขนี้ ที่หารด้วย 3 ลงตัว แต่หารด้วย 6 ไม่ลงตัว หากไม่มีค่าดังกล่าว ให้คืนค่า -1 ตัวอย่างเช่น ถ้า n คือ 336 ผลลัพธ์จะเป็น 363 อย่างที่เราทราบกันดีอยู่แล้วว่าจำนวนหนึ่งหารด้วย 6 ลงตัว หมายความว่ามันหารด้วย 3 กับ 2 ลงตัว ดังนั้นแต่ละจำนวนคู่ที
สมมติว่าเรามีอาร์เรย์ A ที่มีจำนวนเต็ม n เราต้องหาองค์ประกอบ K หนึ่งตัวเพื่อให้ K เป็นจำนวนเฉพาะ และ A[i] mod K เป็นค่าสูงสุดสำหรับค่า i ที่ถูกต้องทั้งหมดจากค่าที่เป็นไปได้ทั้งหมดของ K หากไม่พบตัวเลขดังกล่าว ให้คืนค่า -1 ตัวอย่างเช่น ถ้า A =[2, 10, 15, 7, 6, 8, 13] ผลลัพธ์จะเป็น 13 มีตัวเลขเฉพาะ 3 จ
สมมติว่าเรามีตัวเลข n เราต้องหาผลคูณของจำนวนเฉพาะระหว่าง 1 ถึง n ดังนั้นถ้า n =7 ผลลัพธ์จะเป็น 210 เช่น 2 * 3 * 5 * 7 =210 เราจะใช้วิธี Sieve of Eratosthenes เพื่อค้นหาจำนวนเฉพาะทั้งหมด แล้วคำนวณผลของมัน ตัวอย่าง #include<iostream> using namespace std; long PrimeProds(int n) { bo
สมมติว่าเรามีสตริง เราต้องหาตัวอักษรตัวแรกที่ซ้ำกัน ดังนั้นสตริงคือ Hello Friends อักขระตัวแรกที่ซ้ำกันจะเป็น l เนื่องจากมีสองอันต่อกัน ในการแก้ปัญหานี้ เราจะใช้เทคนิคการแฮช สร้างตารางแฮชหนึ่งตาราง สแกนอักขระแต่ละตัวทีละตัว หากไม่มีอักขระอยู่ จากนั้นแทรกลงในตารางแฮช หากมีอยู่แล้ว ให้ส่งคืนอักขระนั้