หน้าแรก
หน้าแรก
สมมติว่าเราได้สี่เหลี่ยมจัตุรัสที่มีขนาด n สี่เหลี่ยมจัตุรัสขนาด n ถูกแบ่งออกเป็นอีก n2 สี่เหลี่ยมจัตุรัสที่เล็กกว่า สี่เหลี่ยมจัตุรัสที่เล็กกว่านั้นมีขนาดเท่ากับหน่วย และหนึ่งในสี่เหลี่ยมนั้นถูกระบายสีด้วยสีที่เป็นเอกลักษณ์ ทีนี้ ถ้าเราตัดสี่เหลี่ยมที่ใหญ่กว่าออกเป็นสองส่วนเท่า ๆ กัน เราต้องตัดมัน
สมมติว่าเราได้รับอาร์เรย์ input_list ที่มีตัวเลขจำนวนเต็ม ปัญหาสำหรับเราคือการตรวจสอบว่าอาร์เรย์ที่กำหนดสามารถแบ่งออกเป็นสองส่วนได้หรือไม่ โดยที่ผลต่างของผลรวมของสองส่วนเท่ากับจำนวน n จะมีการแจ้งหมายเลข n ไว้ล่วงหน้า ดังนั้น หากอินพุตเป็นเหมือน input_list=[9,2,5,6], n =0 ผลลัพธ์จะเป็น “ที่เป็นไปได้
สมมติว่าเราได้รับอาร์เรย์ที่มีองค์ประกอบจำนวนเต็ม เราต้องค้นหาว่าค่าในอาร์เรย์สามารถจัดเรียงตามลำดับที่ไม่ลดลงได้หรือไม่ถ้าเราสามารถดำเนินการสลับได้เพียงครั้งเดียว ถ้าเป็นไปได้ เราว่าทำได้ ไม่อย่างนั้นไม่ ดังนั้น หากอินพุตเป็นเหมือน input_list =[7, 8, 12, 10, 11, 9] ผลลัพธ์จะเป็น “สามารถทำได้” เพื
สมมติว่าเรามีอาร์เรย์ของตัวเลขที่เรียกว่า nums ซึ่งอาจมีองค์ประกอบที่ซ้ำกัน เราต้องตรวจสอบว่าเป็นชุดของตัวเลขที่ต่อเนื่องกันหรือไม่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[6, 8, 8, 3, 3, 3, 5, 4, 4, 7] ผลลัพธ์จะเป็นจริงเนื่องจากองค์ประกอบคือ 3, 4, 5, 6, 7 , 8. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่าน
สมมติว่าเรามีอาร์เรย์ของตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีค่าที่ต่อเนื่องกันหรือไม่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[6, 8, 3, 5, 4, 7] ผลลัพธ์จะเป็นจริงเนื่องจากองค์ประกอบคือ 3, 4, 5, 6, 7, 8 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้าขนาดของ nums <1 แล้ว คืนค่าเท็จ min_val :=ต
สมมติว่าเรามีอาร์เรย์ของตัวเลขที่ไม่เรียงลำดับที่เรียกว่า nums เราต้องตรวจสอบว่ามีค่าต่อเนื่องกันหรือไม่ ควรรองรับค่าลบด้วย ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[-3, 5, 1, -2, -1, 0, 2, 4, 3] ผลลัพธ์จะเป็นจริงเนื่องจากองค์ประกอบคือ 3, 4, 5, 6, 7, 8. เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ขนา
สมมติว่าเรามีรายการตัวเลขที่เรียกว่า num และค่าบวก K เราสามารถดำเนินการใด ๆ ในสามค่านี้กับ nums - ลบเลขหนึ่งตัว เพิ่มดัชนี (เริ่มจากดัชนี 1) ของตัวเลขไปยังตัวเลขเอง ลบดัชนีของตัวเลขออกจากตัวตัวเลข สุดท้าย เราต้องตรวจสอบว่าอาร์เรย์ที่กำหนดสามารถเปลี่ยนได้หรือไม่เป็นผลรวมของอาร์เรย์กลายเป็น k โดยดำ
สมมติว่าเรามีตัวเลข n เราต้องตรวจสอบว่าการแทนค่าไบนารีของ n เป็นพาลินโดรมหรือไม่ ดังนั้น หากอินพุตเป็น n =9 เอาต์พุตจะเป็น True เนื่องจากการแสดงเลขฐานสองของ 9 คือ 1001 ซึ่งก็คือ palindrome เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ตอบ :=0 0, ทำ ans :=ans * 2 ถ้า num เป็นเลขคี่ ans :=ans XOR 1
สมมติว่าเรามีตัวเลข x และ y สองตัว เราต้องตรวจสอบว่าการแสดงเลขฐานสองของ x และ y เป็นแอนนาแกรมของกันและกันหรือไม่ ดังนั้น หากอินพุตเป็นเหมือน x =9 y =12 ผลลัพธ์จะเป็น True เนื่องจากการแสดงเลขฐานสองของ 9 คือ 1001 และการแทนค่าไบนารีของ 12 คือ 1100 ดังนั้นทั้งสองจึงเป็นแอนนาแกรมของกันและกัน เพื่อแก้ปั
สมมติว่าเรามีอาร์เรย์ n ที่แทนเลขฐานสองของตัวเลขใดๆ เราต้องตรวจสอบว่าการแทนค่าไบนารีของมันถูกหารด้วยสามหรือไม่โดยใช้ Deterministic Finite Automata DFA ดังนั้น หากอินพุตเป็น n =[1, 1, 0, 0] (ไบนารีของ 12) เอาต์พุตจะเป็น True เพื่อแก้ปัญหานี้ เราสามารถสร้าง DFA ได้ดังนี้ - วิธีการนั้นง่ายเมื่อตัว
สมมติว่าเรามีตัวเลข x และ y สองตัวและช่วงที่กำหนด (ซ้าย, ขวา) เราต้องตรวจสอบว่าบิตทั้งหมดในช่วงจากซ้ายไปขวาในทั้งสองจำนวนที่กำหนดเป็นส่วนเสริมของกันและกันหรือไม่ เราต้องจำไว้ว่าจากขวาไปซ้าย ดังนั้นบิตที่มีนัยสำคัญน้อยที่สุดจะถือว่าอยู่ที่ตำแหน่งแรก ดังนั้น หากอินพุตเป็น x =41 y =54 ซ้าย =2 ขวา =5 เ
สมมติว่าเรามีจำนวนบวก n เราต้องตรวจสอบว่าในรูปแบบบิตของจำนวนที่กำหนด n จำนวนต่อเนื่อง 1s เพิ่มขึ้นจากซ้ายไปขวาหรือไม่ ดังนั้น หากอินพุตเท่ากับ n =1775 ผลลัพธ์จะเป็น True เนื่องจากการแสดงไบนารีของ n คือ 11011101111 ดังนั้นจำนวน 1 วินาทีที่ต่อเนื่องกันคือ [2, 3, 4] ซึ่งกำลังเพิ่มขึ้น เพื่อแก้ปัญหานี
สมมติว่าเรามีอาร์เรย์ของตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่ามีเซตย่อยของ num ที่มีระดับบิต AND เป็นกำลังสองหรือไม่ ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[22, 25, 9] ผลลัพธ์จะเป็น True เนื่องจากเป็นเซตย่อย {22, 9} รูปแบบไบนารีคือ {10110, 1001} AND ของสองตัวนี้คือ 10000 =16 ซึ่งเป็นกำลังของ 2. เพื
สมมติว่าเรามีสตริงตัวพิมพ์เล็ก เราต้องตรวจสอบว่าเราสามารถแยกสตริงออกจากตรงกลางได้หรือไม่ซึ่งจะทำให้สองส่วนมีความแตกต่างกันอย่างน้อยหนึ่งอักขระระหว่างสองด้าน อาจมีอักขระต่างกันหรือความถี่ต่างกันของอักขระแต่ละตัว หากสตริงเป็นสตริงที่มีความยาวคี่ ให้ข้ามองค์ประกอบตรงกลางและตรวจสอบองค์ประกอบที่เหลือ ดั
สมมติว่าเรามีสตริง s เราต้องตรวจสอบว่าอักขระของสตริงที่กำหนดสามารถสับเปลี่ยนเพื่อสร้าง palindrome ได้หรือไม่ ดังนั้น หากอินพุตเป็น s =raaecrc เอาต์พุตจะเป็น True เนื่องจากเราสามารถจัดเรียงค่านี้ใหม่เป็น racecar ซึ่งเป็นพาลินโดรมได้ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - freq :=แผนที่สำหรับเ
สมมติว่าเรามีสองสตริง s และ t เราต้องตรวจสอบว่าเราสามารถสร้าง t ได้โดยสลับอักขระของ s หรือไม่ ดังนั้น หากอินพุตเป็น s =worldlloeh t =helloworld ผลลัพธ์จะเป็น True เนื่องจากเราสามารถสลับอักขระจาก worldlloeh ให้เป็น helloworld ได้ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - s_len :=ขนาดของ s, t_le
สมมติว่าเรามีวงเล็บสองลำดับ s และ t โดยมีเฉพาะอักขระเหล่านี้ ( และ ) เราต้องตรวจสอบว่าสตริงที่ต่อกันของ s และ t มีความสมดุลหรือไม่ การต่อข้อมูลสามารถทำได้โดย s | t or t | ส. ดังนั้น หากอินพุตเป็น s =()())), t =()(()( ผลลัพธ์จะเป็น True เพราะถ้าเราเชื่อม t | s เข้าด้วยกัน เราจะได้ () (()(()())) ซึ่ง
สมมติว่าเรามีตัวเลข n เราต้องหาจำนวนตัวหารทั้งหมดเป็นคู่หรือคี่ ดังนั้น หากอินพุตมีค่าเท่ากับ n =75 ผลลัพธ์จะเป็นเลขคู่ เนื่องจากตัวหารคือ [1, 3, 5, 15, 25, 75] เพื่อแก้ปัญหานี้ เราจะปฏิบัติตามแนวทางที่ง่ายและมีประสิทธิภาพวิธีหนึ่ง เราสังเกตว่าเมื่อจำนวนใดเป็นกำลังสองสมบูรณ์ ก็จะมีเพียงตัวหารจำนวน
สมมุติว่าเรามีเลขฐานแปดหนึ่งตัว เราต้องตรวจสอบว่าการแสดงทศนิยมของเลขฐานแปดที่กำหนดนั้นหารด้วย 7 ลงตัวหรือไม่ ดังนั้น หากอินพุตเป็น n =61 ผลลัพธ์จะเป็น True เนื่องจากการแสดงทศนิยมของ 61 คือ 6*8 + 1 =48 + 1 =49 ซึ่งหารด้วย 7. ลงตัว ดังนั้น หากอินพุตมีค่าเท่ากับ n =61 แล้วผลลัพธ์จะเป็น True เนื่องจากก
สมมติว่าเรามีตัวเลข x และ y สองตัว เราต้องเช็คว่าส่วนต่างของมันคือไพรม์หรือไม่ ดังนั้น หากอินพุตเท่ากับ x =7, y =6 ผลลัพธ์จะเป็น True เนื่องจากผลต่างของกำลังสองคือ 49 - 36 =13 ซึ่งเป็นจำนวนเฉพาะ เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ถ้า (x + y) เป็นจำนวนเฉพาะและ (x - y) เป็น 1 แล้ว คืนค่า