หน้าแรก
หน้าแรก
จำนวนใดๆ สามารถแทนด้วยผลรวมของจำนวนกำลังสองสมบูรณ์ ในปัญหานี้ เราต้องค้นหาว่าจำเป็นต้องมีจำนวนขั้นต่ำของพจน์กำลังสองสมบูรณ์จำนวนเท่าใดจึงจะแทนค่าที่กำหนดได้ ให้ค่าเป็น 94 ดังนั้น 95 =92 + 32 + 22 + 12 . ดังนั้นคำตอบจะเป็น 4 แนวคิดคือเริ่มจาก 1 เราก้าวต่อไปเพื่อให้ได้จำนวนเต็มกำลังสองสมบูรณ์ เมื่อค
ในปัญหานี้ จะมีการให้ปุ่มกดตัวเลขบนมือถือ เรากดได้เฉพาะปุ่มบน ล่าง ขวา และซ้ายของปุ่มปัจจุบันเท่านั้น ไม่อนุญาตให้ใช้ปุ่มแนวทแยง เรายังไม่สามารถกดปุ่ม * และ # ในปุ่มกดได้ ตัวเลขจะได้รับ เราต้องค้นหาจำนวนที่เป็นไปได้ของตัวเลขที่กำหนด โดยใช้ปุ่มกด รักษากฎที่กำหนด อินพุตและเอาต์พุต Input: Digit coun
ให้ตัวเลข งานของเราคือแบ่งจำนวนสามครั้งด้วย n/2, n/3 และ n/4 และหาผลรวมสูงสุดที่เราสามารถทำได้โดยการหารตัวเลขออกเป็นสามส่วน ตัวอย่างเช่น 50 สามารถแบ่งออกเป็น {25, 16, 12} ตอนนี้แบ่งแต่ละชุด {25, 16, 12} เป็นสามดิวิชั่นอีกครั้งเป็นต้น หลังจากการหารครบ 3 ครั้งแล้ว เราจะคำนวณหาผลรวมเพื่อหาจำนวนสูงสุด
ชุดของจำนวนเต็มจะได้รับในการเรียงลำดับและความถี่อาร์เรย์อื่นที่จะนับความถี่ งานของเราคือสร้างแผนผังการค้นหาแบบไบนารีที่มีข้อมูลเหล่านั้นเพื่อค้นหาต้นทุนขั้นต่ำสำหรับการค้นหาทั้งหมด ต้นทุนอาร์เรย์เสริม[n, n] ถูกสร้างขึ้นเพื่อแก้ไขและจัดเก็บวิธีแก้ปัญหาของปัญหาย่อย เมทริกซ์ต้นทุนจะเก็บข้อมูลเพื่อแก้ป
สำหรับปัญหานี้ จะมีการกำหนดสตริงหลักหนึ่งสตริงและรูปแบบไวด์การ์ดอื่น ในอัลกอริธึมนี้จะตรวจสอบว่ารูปแบบสัญลักษณ์แทนตรงกับข้อความหลักหรือไม่ รูปแบบสัญลักษณ์แทนอาจมีตัวอักษรหรือสัญลักษณ์ * หรือ ? ? ใช้เพื่อจับคู่อักขระตัวเดียว และ * ใช้เพื่อจับคู่ลำดับของอักขระรวมถึงพื้นที่ว่าง เมื่ออักขระเป็น *:เราส
ในกลุ่ม มีเพื่อนจำนวน n คน แต่ละคนสามารถอยู่เป็นโสดหรือจับคู่กับเพื่อนคนอื่นได้ ค้นหาจำนวนวิธีที่เพื่อน ๆ จะโสดหรือจับคู่ได้ หากคู่หนึ่งมีเพื่อนสองคน p และ q ดังนั้น (p, q) หรือ (q, p) จะเหมือนกัน สำหรับกลุ่มเพื่อน n คน ให้ f(n) เป็นจำนวนวิธีที่พวกเขาสามารถจับคู่หรือยังคงเป็นโสดได้ จากนั้นบุคคลที
ในอัลกอริธึมนี้ อินพุตคือสตริง การแบ่งพาร์ติชั่นของสตริงนั้นจะเป็นการแบ่งพาร์ทิชันแบบพาลินโดรมเมื่อทุกสตริงย่อยของพาร์ติชั่นเป็นพาลินโดรม ในอัลกอริธึมนี้ เราต้องหาการตัดขั้นต่ำที่จำเป็นในการแบ่งพาลินโดรมเพื่อแบ่งสตริงที่กำหนด อินพุตและเอาต์พุต Input: A string. Say “ababbbabbababa” Outpu
สำหรับปัญหานี้ ชุดที่กำหนดสามารถแบ่งได้ในลักษณะนี้ ผลรวมของแต่ละชุดย่อยจะเท่ากัน ขั้นแรกเราต้องหาผลรวมของเซตที่ให้มา ถ้าเท่ากันก็มีโอกาสแบ่งเป็นสองชุด มิเช่นนั้นจะแบ่งแยกไม่ได้ สำหรับค่าที่เท่ากันของผลรวม เราจะสร้างตารางชื่อ partTable ตอนนี้ใช้เงื่อนไขต่อไปนี้เพื่อแก้ปัญหา partTable[i, j] เป็นจริ
ลำดับย่อย Palindromic ที่ยาวที่สุดคือลำดับย่อยของลำดับที่กำหนด และลำดับต่อมาคือ Palindrome ในปัญหานี้ เราได้ให้ลำดับอักขระหนึ่งชุด เราต้องหาความยาวที่ยาวที่สุดของลำดับย่อยพาลินโดรม ในการแก้ปัญหานี้ เราสามารถใช้สูตรแบบเรียกซ้ำได้ ถ้า L (0, n-1) ถูกใช้เพื่อเก็บความยาวของลำดับย่อยพาลินโดรมที่ยาวที่ส
ถ้าให้ลูกโซ่ของเมทริกซ์ เราต้องหาจำนวนขั้นต่ำของลำดับที่ถูกต้องของเมทริกซ์เพื่อคูณ เรารู้ว่าการคูณเมทริกซ์สัมพันธ์กัน ดังนั้นเมทริกซ์สี่ตัว ABCD เราจึงสามารถคูณ A(BCD), (AB)(CD), (ABC)D, A(BC)D ได้ในลำดับเหล่านี้ เช่นเดียวกับลำดับเหล่านี้ งานของเราคือค้นหาว่าลำดับใดมีประสิทธิภาพในการเพิ่มจำนวน ในอ
มีสายโซ่ของคู่มาให้ ในแต่ละคู่ มีจำนวนเต็มสองจำนวน และจำนวนเต็มแรกจะเล็กกว่าเสมอ และจำนวนที่สองมีค่ามากกว่า กฎเดียวกันนี้สามารถนำไปใช้กับการสร้างลูกโซ่ได้ คุณสามารถเพิ่มคู่ (x, y) หลังคู่ (p, q) ได้ก็ต่อเมื่อ q
เมื่อให้เมทริกซ์ไบนารี หน้าที่ของเราคือค้นหาเมทริกซ์สี่เหลี่ยมจัตุรัสที่มีองค์ประกอบทั้งหมดเป็น 1 สำหรับปัญหานี้ เราจะสร้างเมทริกซ์ขนาดเสริม ซึ่งลำดับจะเหมือนกับเมทริกซ์ที่กำหนด เมทริกซ์ขนาดนี้จะช่วยแสดง ในแต่ละรายการ Size[i, j] คือขนาดของเมทริกซ์สี่เหลี่ยมจัตุรัสที่มี 1s ทั้งหมด จากเมทริกซ์ขนาดนั้
ในการซื้อขาย ผู้ซื้อรายหนึ่งซื้อและขายหุ้นในตอนเช้าและตอนเย็นตามลำดับ หากอนุญาตให้ทำธุรกรรมได้ไม่เกินสองรายการในหนึ่งวัน ธุรกรรมที่สองสามารถเริ่มต้นได้หลังจากธุรกรรมแรกเสร็จสิ้นเท่านั้น หากกำหนดราคาหุ้น ให้หากำไรสูงสุดที่ผู้ซื้อสามารถทำได้ อินพุตและเอาต์พุต Input: A list of stock prices. {2, 30, 15,
ผลรวมสูงสุด การเพิ่มลำดับย่อยเป็นผลสืบเนื่องของรายการจำนวนเต็มที่กำหนด ซึ่งผลรวมสูงสุดและในลำดับถัดไป องค์ประกอบทั้งหมดจะถูกจัดเรียงตามลำดับที่เพิ่มขึ้น ให้มีอาร์เรย์เพื่อเก็บผลรวมสูงสุดที่เพิ่มตามลำดับ ดังนั้น L[i] คือผลรวมสูงสุดที่เพิ่มขึ้นตามลำดับ ซึ่งลงท้ายด้วยอาร์เรย์[i] อินพุตและเอาต์พุต Inpu
กำหนดเมทริกซ์ เราจำเป็นต้องหาเมทริกซ์สี่เหลี่ยม (บางครั้งเป็นสี่เหลี่ยมจัตุรัส) ซึ่งมีผลรวมสูงสุด แนวคิดเบื้องหลังอัลกอริธึมนี้คือการแก้ไขคอลัมน์ซ้ายและขวา และพยายามหาผลรวมขององค์ประกอบจากคอลัมน์ซ้ายไปคอลัมน์ขวาสำหรับแต่ละแถว และเก็บไว้ชั่วคราว เราจะพยายามค้นหาหมายเลขแถวบนและล่าง หลังจากได้รับอาร์เ
กำหนดเมทริกซ์ของต้นทุนที่แตกต่างกัน นอกจากนี้ยังมีเซลล์ปลายทาง เราต้องหาเส้นทางต้นทุนขั้นต่ำเพื่อไปถึงเซลล์ปลายทางจากเซลล์เริ่มต้น (0, 0) แต่ละเซลล์ของเมทริกซ์แสดงถึงต้นทุนในการสำรวจผ่านเซลล์นั้น จากเซลล์ เราไม่สามารถย้ายไปที่ใดก็ได้ เราสามารถย้ายไปทางขวาหรือด้านล่างหรือไปยังเซลล์ในแนวทแยงมุมล่าง
เมื่อเส้นทแยงมุมที่ไม่ตัดกันสร้างรูปสามเหลี่ยมในรูปหลายเหลี่ยม จะเรียกว่าสามเหลี่ยม งานของเราคือการหาต้นทุนขั้นต่ำของสมการสามเหลี่ยม ต้นทุนของรูปสามเหลี่ยมคือผลรวมของน้ำหนักของสามเหลี่ยมส่วนประกอบ เราสามารถหาน้ำหนักของสามเหลี่ยมแต่ละรูปได้โดยบวกข้างของพวกมัน หรืออีกนัยหนึ่ง น้ำหนักคือเส้นรอบรูปของส
ในการเริ่มต้นจากมุมบนซ้ายของตารางที่กำหนด จะต้องไปถึงมุมขวาล่าง แต่ละเซลล์ในตารางประกอบด้วยตัวเลข ตัวเลขอาจเป็นบวกหรือลบ เมื่อบุคคลไปถึงเซลล์ (i, j) จำนวนโทเค็นที่เขามี อาจเพิ่มขึ้นหรือลดลงพร้อมกับค่าของเซลล์นั้น เราต้องหาจำนวนโทเค็นเริ่มต้นขั้นต่ำที่จำเป็นในการเดินทางให้เสร็จสิ้น มีกฎบางอย่าง - เ
อัลกอริธึม Floyd-Warshall ใช้เพื่อค้นหาปัญหาเส้นทางที่สั้นที่สุดของคู่ทั้งหมดจากกราฟถ่วงน้ำหนักที่กำหนด ผลลัพธ์ของอัลกอริทึมนี้จะสร้างเมทริกซ์ซึ่งจะแสดงระยะทางต่ำสุดจากโหนดใดๆ ไปยังโหนดอื่นๆ ทั้งหมดในกราฟ ในตอนแรก เมทริกซ์ผลลัพธ์จะเหมือนกับเมทริกซ์ต้นทุนที่กำหนดของกราฟ หลังจากนั้น เมทริกซ์เอาต์พุ
ลำดับฟีโบนักชีเป็นแบบนี้ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,…… ในลำดับนี้ เทอมที่ n คือผลรวมของเทอม (n-1)th และ (n-2)th ในการสร้างเราสามารถใช้วิธีเรียกซ้ำได้ แต่ในการเขียนโปรแกรมแบบไดนามิก ขั้นตอนจะง่ายกว่า มันสามารถเก็บตัวเลขฟีโบนักชีทั้งหมดในตาราง โดยใช้ตารางนั้น มันสามารถสร้างเงื