หน้าแรก
หน้าแรก
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีลบไพรม์โหนดทั้งหมดออกจากรายการที่เชื่อมโยงเพียงคนเดียว มาดูขั้นตอนการแก้ปัญหากัน เขียนโครงสร้างด้วยข้อมูลและตัวชี้ถัดไป เขียนฟังก์ชันเพื่อแทรกโหนดลงในรายการที่เชื่อมโยงโดยลำพัง เริ่มต้นรายการที่เชื่อมโยงเพียงอย่างเดียวด้วยข้อมูลจำลอง วนซ้ำในรายการที่เชื่อ
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีลบไพรม์โหนดทั้งหมดออกจากรายการที่เชื่อมโยงเพียงคนเดียว มาดูขั้นตอนการแก้ปัญหากัน เขียนโครงสร้างด้วยข้อมูลและตัวชี้ถัดไป เขียนฟังก์ชันเพื่อแทรกโหนดลงในรายการที่เชื่อมโยงโดยลำพัง เริ่มต้นรายการที่เชื่อมโยงเพียงอย่างเดียวด้วยข้อมูลจำลอง วนซ้ำในรายการที่เชื่อ
สมมติว่าเรามีจำนวนอาร์เรย์ขององค์ประกอบเฉพาะตั้งแต่ 1 ถึง n เราต้องตรวจสอบก่อนว่า stack-sortable หรือไม่ อาร์เรย์สามารถจัดเรียงสแต็กได้เมื่อจัดเก็บในอาร์เรย์อื่นโดยใช้สแต็กชั่วคราว เพื่อแก้ปัญหานี้ เราสามารถใช้การดำเนินการใดๆ เหล่านี้กับอาร์เรย์ - ลบองค์ประกอบเริ่มต้นของอาร์เรย์และพุชรายการนั้นล
สมมติว่าเราได้รับชุดของช่วงเวลาที่ประกอบด้วยค่า (time1, time2) โดยที่ time1 แสดงถึงเวลาเริ่มต้น และ time2 แสดงถึงเวลาสิ้นสุดของเหตุการณ์ งานของเราคือตรวจสอบว่าช่วงเวลาเหล่านี้ทับซ้อนช่วงเวลาอื่นในชุดนี้หรือไม่ หากช่วงเวลาใดคาบเกี่ยวกัน เราจะคืนค่าผลลัพธ์เป็น True ไม่เช่นนั้นเราจะคืนค่าเป็น False ดั
กำหนดสตริง str อักขระ และจำนวนเต็มบวก N สตริง str จะทำซ้ำโดยไม่มีกำหนด เป้าหมายคือการหาจำนวนการเกิดขึ้นของอักขระใน str ในอักขระ N ตัวแรกของการทำซ้ำ หาก str คือ “abac” อักขระคือ ch=b และ N คือ 10 ใน 10 ตัวอักษรแรกของ “abacabacabacabac…….” b เกิดขึ้นสองครั้ง หมายเหตุ − ใช้ str และอักขระ ch ในกรณีเด
กำหนดอาร์เรย์ arr[] ที่มีองค์ประกอบจำนวนเต็มและจำนวนเต็ม เป้าหมายคือการหาค่าเฉลี่ยของแต่ละองค์ประกอบ arr[i] และ num แล้วพิมพ์จำนวนครั้งที่ค่าเฉลี่ยปรากฏในอาร์เรย์ดั้งเดิม ถ้า array arr[] คือ [ 5, 2, 3 ] และ num คือ 2 ค่าเฉลี่ยจะเป็น [ 3, 2, 2 ] ใน arr[] คือ [ 1,1,1 ] ตัวอย่าง อินพุต arr[] = { 1,
กำหนดรายการที่เชื่อมโยงแบบทวีคูณซึ่งมีค่าจำนวนเต็ม เป้าหมายคือการหาแฝดสามที่มีผลิตภัณฑ์เท่ากับค่าที่กำหนด x หากรายการเชื่อมโยงอินพุทคือ 3−4-1−2 และ x คือ 6 การนับจะเป็น 1 (ทริปเล็ต (3,1,2)) ตัวอย่าง อินพุต linked list: [ 200−4−16−5−10−10−2 ] x=200 ผลลัพธ์ Coun
กำหนดรายการที่เชื่อมโยงแบบทวีคูณซึ่งมีค่าจำนวนเต็ม เป้าหมายคือการหาแฝดสามที่มีผลิตภัณฑ์เท่ากับค่าที่กำหนด x หากรายการเชื่อมโยงที่ป้อนคือ 3-4-1-2 และ x คือ 6 การนับจะเท่ากับ 1 (แฝดสาม (3,1,2) ) ตัวอย่าง อินพุต linked list: [ 3−4−13−5−10−10−0 ] x=20 ผลลัพธ์ Coun
เราได้รับตัวเลข N เป็นอินพุต ดำเนินการสองอย่างบน N และระบุจำนวนตัวเลขที่ไม่ซ้ำที่สร้างขึ้นในกระบวนการ ขั้นตอนจะ - เพิ่ม 1 ให้กับตัวเลข ลบเลขศูนย์ต่อท้ายออกจากตัวเลขที่สร้างขึ้น หากมี ถ้า N คือ 8 ตัวเลขที่สร้างจะเป็น ใช้ขั้นตอนที่ 1− 8 → 9 → ใช้ขั้นตอนที่ 2− 1 → ( ลบ 0 จาก 10 ) ใช้ขั้นตอน
ให้ตัวเลขสองตัวเริ่มต้นและสิ้นสุดแทนช่วง เป้าหมายคือการหาจำนวน Unary ที่มีอยู่ระหว่าง [ start, end ]. เราสามารถตรวจสอบว่าตัวเลขนั้นเป็น Unary หรือไม่ โดยทำตามขั้นตอนต่อไปนี้:ถ้าเราเอาตัวเลข 13 แล้ว 12 + 32 =10 แล้ว 12 + 02 =1 ดังนั้นผลรวมสูงสุดด้วยวิธีนี้คือ 1 ดังนั้น 13 จึงไม่เท่ากัน ตัวอย่าง อิ
กำหนดจำนวนเต็มเป็นอินพุต เป้าหมายคือการหาจำนวนศูนย์ต่อท้ายในแฟกทอเรียลที่คำนวณสำหรับตัวเลขนั้น แฟกทอเรียลของจำนวน N คือผลคูณของจำนวนทั้งหมดในช่วง [1, N] เรารู้ว่าเราจะได้ศูนย์ต่อท้ายก็ต่อเมื่อตัวเลขนั้นทวีคูณของ 10 หรือมีคู่ตัวประกอบ (2,5) ในแฟกทอเรียลทั้งหมดของจำนวนใดๆ ที่มากกว่า 5 เรามีจำนวน 2s ท
กำหนดจำนวนเต็ม N เป็นอินพุตสำหรับคอร์ดจำนวนหนึ่งในวงกลมที่มีจุดสิ้นสุด 2*N เป้าหมายคือการนับวิธีที่เราสามารถแบ่งวงกลมนั้นโดยใช้คอร์ดดังกล่าว เพื่อไม่ให้คอร์ดมาตัดกัน สำหรับ N=3 คะแนนจะเป็น 6, 1 วิธีในการรับ 3 คอร์ดคือระหว่าง 1−2, 3−4, 5−6 วิธีอื่น - 1−6, 2−5, 3−4 1−2, 3&m
กำหนดจำนวนเต็ม n เป็นอินพุต เป้าหมายคือการหาจำนวนวิธีที่เราสามารถแทน n เป็นผลรวมของจำนวนเต็มคี่ ตัวอย่างเช่น ถ้า n เป็น 3 สามารถแสดงเป็นผลรวม ( 1+1+1 ) และ (3) รวมเป็น 2 วิธี ตัวอย่าง อินพุต n=6 ผลลัพธ์ Count of ways to express ‘n’ as sum of odd integers are: 8 คำอธิบาย The ways in whi
กำหนดจำนวนเต็ม n เป็นอินพุต เป้าหมายคือการหาจำนวนวิธีที่เราสามารถแสดง num เป็นผลรวมของตัวเลขธรรมชาติสองตัวหรือมากกว่าที่ต่อเนื่องกัน ตัวอย่างเช่น ถ้า n เป็น 3 สามารถแสดงเป็นผลรวม ( 1+2 ) ได้ทั้งหมด 1 วิธี ตัวอย่าง อินพุต num=6 ผลลัพธ์ Count of ways to express a number as sum of consecutive numbers
ให้ตัวเลขสองตัวและกำลังเป็นอินพุต เป้าหมายคือการหาวิธีที่ num สามารถแสดงเป็นผลรวมของจำนวนธรรมชาติที่ไม่ซ้ำกันซึ่งยกขึ้นเป็นยกกำลังที่กำหนด ถ้า num คือ 10 และกำลังเป็น 2 เราก็สามารถแทน 10 เป็น 12+32 รวมเป็น 1 วิธี ตัวอย่าง อินพุต num=30 ผลลัพธ์ Count of ways to express a number as sum of powers are
ให้คะแนนการวิ่ง เป้าหมายคือการทำคะแนนให้ได้ในลักษณะที่ผู้ตีสามารถวิ่ง 1 หรือ 2 วิ่งในบอลเดียว ข้อจำกัดคือไม่สามารถวิ่ง 2 รอบติดต่อกันได้ ตัวอย่างเช่น หากต้องการได้คะแนน 6 เราสามารถวิ่งได้ เช่น 1+2+1+2 แต่ไม่ใช่ 2+2+1+1 หรือวิธีอื่นใดที่มี 2 แต้มติดต่อกัน 2 ครั้ง ตัวอย่าง อินพุต score=4 ผลลัพธ์ Cou
บนกระดานหมากรุกแสดงเป็นตาราง 8 X 8 เราได้รับตำแหน่งของอธิการในรูปแบบของตำแหน่งแถวและคอลัมน์ เป้าหมายคือการหาจำนวนช่องสี่เหลี่ยมทั้งหมดที่อธิการสามารถเยี่ยมชมได้ในคราวเดียว เรารู้ว่าอธิการสามารถเคลื่อนไปได้ทุกทิศทาง (ซ้ายขึ้น/ลงในแนวทแยงและขวาขึ้น/ลง) ตัวอย่าง อินพุต row = 5, column = 4 ผลลัพธ์ C
กำหนดอาร์เรย์ของตัวเลขบวกและจำนวนเต็ม A และ B สองจำนวน ผู้เล่นสองคนกำลังเล่นเกมซึ่งพวกเขาจะลดตัวเลขในอาร์เรย์ ผู้เล่น 1 สามารถลดองค์ประกอบใด ๆ ของอาร์เรย์ด้วย A และผู้เล่น 2 สามารถเพิ่มองค์ประกอบใด ๆ ของอาร์เรย์โดย B เป้าหมายคือการหาจำนวนตัวเลขที่ผู้เล่น 1 สามารถลด 0 หรือน้อยกว่าได้ ผู้เล่นคนแรกทำให
กำหนดเมทริกซ์ 2 มิติที่มีขนาดแถว X col เป้าหมายคือการนับจำนวนวิธีที่เราสามารถข้ามเมทริกซ์จากเซลล์ 0,0 ไปยังแถวเซลล์ โดยใช้การเคลื่อนที่ไปทางขวาและลงเท่านั้น กล่าวคือ การย้ายครั้งแรกอาจเป็น 0,0 ถึง 0,1 (ลง) หรือ 1,0 (ขวา) และไม่ใช่ 1,1(แนวทแยง) ตัวอย่าง อินพุต col = 2; row = 4 ผลลัพธ์ Count of numb
ให้ตัวเลขสองตัว n และ m แทนความยาวและความกว้างของพื้นห้อง เป้าหมายคือการนับจำนวนวิธีในการปูกระเบื้องพื้นโดยใช้กระเบื้องขนาด 1Xm ตัวอย่าง อินพุต n=3 m=2 ผลลัพธ์ Count the number of ways to tile the floor of size n x m using 1 x m size tiles are: 3 คำอธิบาย ทางจะเป็นแบบเรียงต่อกัน 1x2 สามแผ่น ดังรู