หน้าแรก
หน้าแรก
สมมติว่าเรามีสตริง s เราต้องหาจำนวนพาลินโดรมที่ต่างกันที่เราสร้างได้โดยใช้อักขระทั้งหมด หากคำตอบมีขนาดใหญ่มาก ให้แก้ไขผลลัพธ์ด้วย 10^9 + 7 ดังนั้น หากอินพุตเป็น s =xyzzy ผลลัพธ์จะเป็น 2 เนื่องจากเราสามารถสร้าง zyxyz และ yzxzy เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ม =10^9+7 char_freq :
สมมติว่าเรามีไบนารีทรี เราต้องหาทรีเดียวกัน แต่ค่าของโหนดทุกอันจะถูกแทนที่ด้วยค่าของมัน + ผลรวมของทรีย่อยด้านซ้ายและขวาทั้งหมด ดังนั้นหากอินพุตเป็นแบบ แล้วผลลัพธ์ที่ได้จะเป็น เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดฟังก์ชัน tree_sum() นี้จะหยั่งรากของต้นไม้ ถ้ารูทเป็นโมฆะ
สมมติว่าเรามีรายการตัวเลขสองรายการที่เรียกว่า nums และ cost ทีนี้ลองพิจารณา มีการดำเนินการที่เราสามารถเพิ่มหรือลด nums[i] สำหรับ cost cost[i] ได้ เราสามารถดำเนินการเหล่านี้จำนวนเท่าใดก็ได้ และเราต้องการทำให้องค์ประกอบทั้งหมดมีค่าเท่ากันในจำนวน เราต้องหาต้นทุนรวมขั้นต่ำที่ต้องการ ดังนั้นหากอินพุตเท่
สมมติว่าเรามีตัวเลข n มากกว่า 1 เราต้องหาตัวประกอบเฉพาะของมันทั้งหมดแล้วส่งคืนในลำดับการจัดเรียง เราสามารถเขียนตัวเลขเป็นผลคูณของจำนวนเฉพาะได้ พวกมันคือตัวประกอบเฉพาะของมัน และปัจจัยเฉพาะเดียวกันอาจเกิดขึ้นมากกว่าหนึ่งครั้ง ดังนั้นหากอินพุตเท่ากับ 42 เอาต์พุตจะเป็น [2, 3, 7] เพื่อแก้ปัญหานี้ เราจะ
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีตัวเลขสามตัว a, b และ c อยู่หรือไม่ ดังนั้น a^2 + b^2 =c^2 ดังนั้น หากอินพุตเป็น [10, 2, 8, 5, 6] ผลลัพธ์จะเป็น True เช่น 8^2 + 6^2 =64+36 =100 =10^2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - tmp :=รายการกำลังสองของตัวเลขทั้งหมดเป็น
สมมติว่าเรามีสี่เหลี่ยมที่แสดงเป็นรายการที่มีสี่องค์ประกอบ [x1, y1, x2, y2] โดยที่ (x1, y1) คือพิกัดของมุมล่างซ้าย และ (x2, y2) เป็นพิกัดของ itstop-มุมขวา. สี่เหลี่ยมสองรูปซ้อนทับกันเมื่อพื้นที่ของทางแยกเป็นบวก ดังนั้น รูปสี่เหลี่ยมผืนผ้าสองรูปที่แตะเฉพาะที่มุมหรือขอบจะไม่ทับซ้อนกัน ดังนั้น หากอินพ
สมมติว่าเรามีสตริง s เราต้องหาดัชนีของอักขระที่เกิดซ้ำตัวแรกในนั้น หากเราไม่พบอักขระที่เกิดซ้ำ ให้คืนค่า -1 ดังนั้น หากอินพุตเป็นเหมือน abcade เอาต์พุตจะเป็น 3 เนื่องจาก a จะแสดงอีกครั้งที่ดัชนี 3 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดตัวอักษรแผนที่ สำหรับฉันในช่วง 0 ถึงขนาดของ s ทำ ถ
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า A และอีกจำนวนหนึ่งคือ k เราจะต้องสร้างชุดขององค์ประกอบที่เป็นไปได้ใหม่ {A[k], A[A[k]], A[A[A[k]]], .. . } หยุดก่อนที่จะหมดดัชนี เราต้องหาขนาดของชุดนี้ มิฉะนั้น -1 เมื่อมีวงจร ดังนั้น หากอินพุตเป็น A =[1,2,3,4,5,6,7], k =1 ผลลัพธ์จะเป็น 6 เนื่องจาก A[1] =2, A[2]
สมมติว่าเรามีรายการหมายเลข A เราต้องหาหมายเลขที่ซ้ำกันทั้งหมดและลบรายการที่เกิดขึ้นล่าสุด ดังนั้น หากอินพุตเป็น [10, 30, 40, 10, 30, 50] เอาต์พุตจะเป็น [10, 30, 40, 50] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เห็น:=แผนที่ใหม่ d:=แผนที่ใหม่ สำหรับ i ในช่วง 0 ถึงขนาดของ nums ให้ทำ ถ้า nums[i]
สมมติว่าเรามี s และ t สองสตริง เราต้องตรวจสอบว่าเราได้ t หรือไม่ โดยการลบ 1letter ออกจาก s ดังนั้น หากอินพุตเป็น s =world, t =wrld เอาต์พุตจะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - i:=0 n:=ขนาดของ s ในขณะที่ฉัน
สมมติว่าเรามีจำนวนบวก n เราจะบวกตัวเลขทั้งหมดเพื่อให้ได้ตัวเลขใหม่ ให้ทำซ้ำการดำเนินการนี้จนกว่าจะน้อยกว่า 10 ดังนั้นหากอินพุตเป็น 9625 เอาต์พุตจะเป็น 4 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดวิธีการแก้ปัญหา() ซึ่งจะใช้เวลา n ถ้า n <10 แล้ว ส่งคืน n s :=0 l :=พื้นของ (log(n) ฐาน 10 +
สมมติว่าเรามีสตริง s และตัวเลข k เราต้องหาจำนวนสตริงย่อยความยาว k ของ s ที่เกิดขึ้นมากกว่าหนึ่งครั้งใน s ดังนั้น หากอินพุตเป็น s =xxxyyy, k =2 เอาต์พุตจะเป็น 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - เห็น :=รายการใหม่ สำหรับฉันในช่วง 0 ถึงขนาด s - k ทำ t :=สตริงย่อยของ s [จากดัชนี i ถึง i +
สมมุติว่าเรามี string เราต้องเช็คก่อนว่าเป็น string ซ้ำหรือไม่ ดังนั้น หากอินพุตเป็นเหมือน string =helloworldhelloworld ผลลัพธ์จะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=ขนาดของ s กำหนดฟังก์ชัน findFactors() นี่จะใช้เวลา n f :=ชุดใหม่ ผม :=1 ในขณะที่ i * i <=n ทำ ถ้า n mod i เหม
สมมติว่าเรามีรายการตัวเลขสองรายการที่เรียกว่า A และ B เราต้องใช้รายการย่อยใน A และย้อนกลับ จากนั้นตรวจสอบว่าสามารถเปลี่ยน A เป็น B ได้หรือไม่ เรานำรายการย่อยและย้อนกลับได้หลายครั้ง ดังนั้น หากอินพุตเป็น A =[2, 3, 4, 9, 10], B =[4, 3, 2, 10, 9] ผลลัพธ์จะเป็น True ในขณะที่เราสามารถย้อนกลับ [2,3,4 ] แ
สมมติว่าเรามีชุดคำที่คั่นด้วยช่องว่าง เราต้องกลับลำดับของคำ ดังนั้น หากอินพุตเป็น สวัสดีชาวโลก ฉันรักการเขียนโปรแกรมหลาม ผลลัพธ์จะเป็น การเขียนโปรแกรมหลามรักโลก สวัสดี เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - temp :=ทำรายการคำโดยแยก s โดยใช้ช่องว่าง temp :=ย้อนกลับอุณหภูมิรายการ ส่งคืนสตริงโด
สมมติว่าเรามีพารามิเตอร์ P,O,E,T หากเรามีเงินต้นเป็น P$ ที่เราต้องการลงทุนในตลาดหุ้น ตลาดหุ้นสลับกันไปมาระหว่าง E ที่กลับมาครั้งแรกกับดอกเบี้ย Opercent ต่อปี เราต้องตรวจสอบว่าต้องใช้เวลากี่ปีถึงจะได้ Tdollar เป็นอย่างน้อย ดังนั้นหากอินพุตเท่ากับ P =200, O =10, E =25, T =300 ผลลัพธ์จะเป็น 3 เช่นในปี
สมมติว่าเรามีสตริงที่มีตัวอักษรสามประเภท R, B และ dot(.) ที่นี่ R ย่อมาจากตำแหน่งปัจจุบันของเรา B หมายถึงตำแหน่งที่ถูกบล็อก และจุด (.) หมายถึงตำแหน่งว่าง ตอนนี้ในขั้นตอนเดียว เราสามารถย้ายไปยังตำแหน่งที่อยู่ติดกันไปยังตำแหน่งปัจจุบันของเรา ตราบใดที่ยังว่างอยู่ (ว่างเปล่า ). เราต้องตรวจสอบว่าเราสามาร
สมมติว่าเรามีหุ่นยนต์ซึ่งกำลังนั่งอยู่ในตำแหน่ง (0, 0) (เครื่องบินคาร์ทีเซียน) หากเรามีรายชื่อการเคลื่อนไหวที่สามารถทำได้ ประกอบด้วย N(เหนือ), S(ใต้), W(ตะวันตก) และ E(ตะวันออก) เราต้องตรวจสอบว่าสามารถไปถึงพิกัดปลายทางได้หรือไม่ (x, y) ดังนั้น ถ้าอินพุตเหมือนย้าย =[N,N,E,E,S], (x,y) =(2,1) ผลลัพธ์จ
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาผลรวมของผลต่างสัมบูรณ์ระหว่างตัวเลขทุกคู่ในรายการที่กำหนด เราจะพิจารณา (i, j) และ (j, i) เป็นคู่ที่แตกต่างกัน หากคำตอบมีขนาดใหญ่มาก ให้แก้ไขผลลัพธ์ 10^9+7 ดังนั้น หากอินพุตเป็น nums =[2, 4, 8] เอาต์พุตจะเป็น 24 เป็น |2 - 4| + |2 - 8| + |4 - 2| + |4
สมมติว่าเรามีจำนวนบวก n เราต้องตรวจสอบว่า n สามารถเขียนเป็นผลรวมของจำนวนแฟกทอเรียลบวกเฉพาะหรือไม่ ดังนั้น หากอินพุตเท่ากับ n =144 ผลลัพธ์จะเป็น True เป็น 4! +5! =24 + 120 =144 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ข้อเท็จจริง :=1 res :=รายการใหม่ x :=2 ในขณะที่ความจริง <=n ทำ