หน้าแรก
หน้าแรก
สมมติว่าเรามีตารางซูโดกุที่เติมบางส่วนและเราต้องแก้ปัญหานี้ เรารู้ว่าซูโดกุเป็นตารางตัวเลข 9 × 9 และทั้งตารางถูกแบ่งออกเป็น 3 × 3 กล่อง มีกฎบางอย่างในการแก้ซูโดกุ เราต้องใช้ตัวเลข 1 ถึง 9 เพื่อแก้ปัญหานี้ ไม่สามารถทำซ้ำหนึ่งหลักในหนึ่งแถว หนึ่งคอลัมน์ หรือในกล่อง 3 × 3 หนึ่งช่อง เราจะพยายาม
สมมติว่าเรามีไบนารีทรี เราต้องหาผลรวมของใบไม้ที่ถูกต้องทั้งหมดในไบนารีทรีที่กำหนด ดังนั้นหากอินพุตเป็นแบบ จากนั้นผลลัพธ์จะเป็น 17 เนื่องจากมีใบทางขวาสองใบในไบนารีทรี โดยมีค่า 7 และ 10 ตามลำดับ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน dfs() สิ่งนี้จะรับโหนด เพิ่ม ถ้าโหนดเ
สมมติว่าเรามีต้นไม้ไบนารี เราต้องหาผลรวมของค่าใบไม้ที่ลึกที่สุดของมัน ดังนั้นถ้าต้นไม้เป็นเหมือน − จากนั้นผลลัพธ์จะเป็น 11 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดแผนที่ m และ maxDepth กำหนดวิธีการแบบเรียกซ้ำ Solvent() ซึ่งจะใช้โหนดและระดับ ระดับเริ่มต้นคือ 0 หากไม่มีโหนดให้ส่
สมมติว่าเรามีค่าจำนวนเต็มบวก เราต้องหาชื่อคอลัมน์ที่เกี่ยวข้องตามที่ปรากฏในสเปรดชีต ดังนั้น [1 :A], [2 :B], [26 :Z], [27 :AA], [28 :AB] เป็นต้น ดังนั้นหากอินพุตเท่ากับ 29 เอาต์พุตจะเป็น AC เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ในขณะที่ n ไม่ใช่ศูนย์ ให้ทำ - n :=n − 1 res :=res + n
สมมติว่าเรามีชื่อคอลัมน์ของสเปรดชีต เรารู้ว่าหมายเลขคอลัมน์สเปรดชีตเป็นตัวอักษร มันเริ่มต้นจาก A และหลังจาก Z มันจะเป็น AA, AB ถึง ZZ จากนั้นอีกครั้ง AAA, AAB ถึง ZZZ เป็นต้น ดังนั้นคอลัมน์ที่ 1 คือ A คอลัมน์ที่ 27 คือ Z ที่นี่เราจะดูวิธีรับตัวอักษรประจำคอลัมน์หากระบุจำนวนคอลัมน์ ดังนั้นหากหมายเลขคอ
สมมติว่าเรามีไบนารีทรี โดยที่ทุกค่าของโหนดเป็น 0 หรือ 1 เราต้องหาต้นไม้เดียวกันโดยที่ทุกทรีย่อยที่ไม่มี 1 ถูกลบไป ดังนั้นถ้าต้นไม้เป็นเหมือน − เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการแบบเรียกซ้ำ Solvent() ซึ่งจะใช้โหนด วิธีการจะเป็นเช่น − หากโหนดเป็นโมฆะ ให้คืนค่า null โ
สมมุติว่าเรามีอาร์เรย์ของตัวเลข เราต้องหาจำนวน triplets ที่เลือกจากอาร์เรย์ที่สามารถสร้างสามเหลี่ยมได้ ถ้าเราหามันเป็นความยาวด้านของสามเหลี่ยม ดังนั้นหากอินพุตเป็น [2,2,3,4] ผลลัพธ์จะเป็น 3 เนื่องจากมีแฝดสาม [2,3,4] ใช้ 2 ตัวแรก [2,3,4] ใช้ 2 อันที่สอง และ [2,2,3]. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอ
เราได้รับอาร์เรย์ Arr[] ของจำนวนเต็มที่มีความยาว n และตัวเลข M อาร์เรย์มีเฉพาะจำนวนเต็มบวกเท่านั้น เป้าหมายคือการนับแฝดสามขององค์ประกอบของ Arr[] ที่มีผลิตภัณฑ์เท่ากับ M เราจะทำสิ่งนี้โดยใช้สามลูป จำนวนที่เพิ่มขึ้นถ้า arr[x]*arr[y]*arr[z]=M และ x!=y!=z. (0<=x,y,z มาทำความเข้าใจกับตัวอย่างกัน ป้อนข
เรามีหมายเลข START และ END สองหมายเลขเพื่อกำหนดช่วงของตัวเลข เป้าหมายคือการหาตัวเลขที่มีเพียง 2 และ 3 เป็นปัจจัยเฉพาะและอยู่ในช่วง [START,END] เราจะทำสิ่งนี้โดยข้ามผ่านตัวเลขจาก START ถึง END และสำหรับแต่ละหมายเลข เราจะตรวจสอบว่าตัวเลขนั้นหารด้วย 2 และ 3 เท่านั้นหรือไม่ ถ้าแบ่งให้แบ่งลด ถ้าไม่ ให้ท
เราได้ให้ตัวเลข N เป้าหมายคือการหาตัวเลขที่มี 0 เป็นหลักและอยู่ในช่วง [1,N]. 0 มาทำความเข้าใจกับตัวอย่างกัน ป้อนข้อมูล N=11 ผลผลิต Numbers from 1 to N with 0 as digit: 1 คำอธิบาย Starting from i=10 to i<=11 Only 10 has 0 as a digit. No need to check the range [1,9]. ป้อนข้อมูล N=100 ผลผ
เรามีหมายเลข START และ END สองหมายเลขเพื่อกำหนดช่วงของตัวเลข และอาร์เรย์ของจำนวนบวก Arr[] ด้วย เป้าหมายคือการหาตัวเลขทั้งหมดที่หารด้วยองค์ประกอบทั้งหมดของ Arr[] และอยู่ในช่วง [START,END] . วิธีที่ 1 ( วิธีไร้เดียงสา ) เราจะทำสิ่งนี้โดยข้ามผ่านตัวเลขจาก START ถึง END และสำหรับตัวเลขแต่ละตัว เราจะตรว
เราได้รับหมายเลข N เป้าหมายคือการค้นหาตัวเลขที่หารด้วย X ลงตัว ไม่ใช่ Y และอยู่ในช่วง [1,N] มาทำความเข้าใจกับตัวอย่างกัน ป้อนข้อมูล N=20 X=5 Y=20 ผลผลิต Numbers from 1 to N divisible by X not Y: 2 คำอธิบาย Only 5 and 15 are divisible by 5 and not 10. ป้อนข้อมูล N=20 X=4 Y=7 ผลผลิต Numbers
เรามีหมายเลข START และ END ให้สองตัวเพื่อกำหนดช่วงของตัวเลข เป้าหมายคือการหาตัวเลขทั้งหมดในช่วง [START,END] ที่หารด้วยตัวเลขที่ไม่ใช่ศูนย์ทั้งหมดลงตัว เราจะทำสิ่งนี้โดยข้ามผ่านตัวเลขจาก START ถึง END และสำหรับแต่ละตัวเลข เราจะตรวจสอบว่าตัวเลขนั้นหารด้วยตัวเลขที่ไม่ใช่ศูนย์ทั้งหมดได้หรือไม่โดยใช้ลูป
D. เราจะทำสิ่งนี้โดยข้ามตัวเลขตั้งแต่ 1 ถึง N และสำหรับแต่ละตัวเลข เราจะคำนวณผลรวมหลักของมันโดยใช้ลูป while ตรวจสอบว่าตัวเลขและผลรวมหลักที่คำนวณมีความแตกต่างมากกว่า D หรือไม่ มาทำความเข้าใจกับตัวอย่างกัน ป้อนข้อมูล N=15 D=5 ผลผลิต Numbers such that difference b/w no. and its digit sum greater t
เราได้รับตัวเลข A และ B สองตัว นอกจากนี้ยังมีตัวเลข START และ END สองตัวเพื่อกำหนดช่วงของตัวเลข กระเบื้อง Ath มีสีขาวและกระเบื้อง Bth มีสีดำ หากกระเบื้องถูกทาทั้งขาวดำ กระเบื้องจะกลายเป็นสีเทา เป้าหมายคือการหาจำนวนกระเบื้องสีเทาทั้งหมด . เราจะทำสิ่งนี้โดยข้ามผ่านตัวเลขจาก START ถึง END และสำหรับแต่
เรามีหมายเลข START และ END ให้สองตัวเพื่อกำหนดช่วงของตัวเลข เป้าหมายคือการหาตัวเลขทั้งหมดในช่วง [START,END] ซึ่งมีผลรวมของตัวเลขเท่ากับตัวเลข Y ที่กำหนด เราจะทำสิ่งนี้โดยข้ามผ่านตัวเลขจาก START ถึง END และสำหรับแต่ละตัวเลข เราจะนับผลรวมของตัวเลขโดยใช้ลูป while หากผลรวมนี้เท่ากับ Y ให้นับการเพิ่มขึ้
เรามีหมายเลข START และ END ไว้สองตัวเพื่อกำหนดช่วงของตัวเลข เป้าหมายคือการหาตัวเลขทั้งหมดในช่วง [START,END] ซึ่งไม่มีตัวเลขเป็น 0 และมีผลรวมของตัวเลขเท่ากับหมายเลข N ที่กำหนดเช่นกัน ตัวเลขหารด้วย M เราจะทำสิ่งนี้โดยข้ามผ่านตัวเลขจาก START ถึง END และสำหรับแต่ละตัวเลข เราจะนับผลรวมของตัวเลขโดยใช้ลูป
เราได้รับอาร์เรย์ของจำนวนเต็ม เป้าหมายคือการหาจำนวนองค์ประกอบของอาร์เรย์ที่น้อยกว่าหรือเท่ากับค่าที่กำหนด K ป้อนข้อมูล Arr[]= { 1, 2, 3, 14, 50, 69, 90 } K=12 ผลผลิต Numbers smaller or equal to K: 3 คำอธิบาย Numbers 1,2,3 is smaller or equal to 12. ป้อนข้อมูล Arr[]= { 12, 13, 13, 13, 14, 50,
เราได้รับตัวเลข S และ K สองตัว เป้าหมายคือการหาคู่ที่เรียงลำดับของตัวเลขบวก โดยที่ผลรวมของมันคือ S และ XOR คือ K เราจะทำสิ่งนี้โดยเริ่มจาก i=1 ถึง i
เราได้รับหมายเลข N เป้าหมายคือการหาคู่ที่สั่งซื้อของจำนวนบวกซึ่งผลิตภัณฑ์ของพวกเขามีค่าน้อยกว่า N เราจะทำสิ่งนี้โดยเริ่มจาก i=1 ถึง i