หน้าแรก
หน้าแรก
สมมติว่าเรามีสตริง s และเราต้องหาความยาวของสตริงย่อยที่ยาวที่สุด T ของสตริงที่กำหนดนั้น (ประกอบด้วยตัวพิมพ์เล็กเท่านั้น) เพื่อให้อักขระทุกตัวใน T ปรากฏอยู่ไม่น้อย มากกว่า k ครั้ง ดังนั้นหากสตริงคือ ababbc และ k =2 เอาต์พุตจะเป็น 3 และสตริงย่อยที่ยาวที่สุดจะเป็น ababb เนื่องจากมี 2 a และ 3 b เพื่อแก้
ลองพิจารณาว่าเรามีรายชื่อคนที่ยืนต่อคิวแบบสุ่ม ถ้าแต่ละคนอธิบายด้วยจำนวนเต็มคู่ (h, k) โดยที่ h คือความสูงและ k คือจำนวนคนที่อยู่ข้างหน้าซึ่งมีความสูงมากกว่าหรือเท่ากับ h เราต้องกำหนดวิธีหนึ่งเพื่อสร้างคิวใหม่ ดังนั้นหากอาร์เรย์ที่กำหนดเป็นเหมือน [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] ผลลัพธ์จะเ
สมมติว่าเรามีอาร์เรย์ที่ไม่ว่างซึ่งมีเฉพาะตัวเลขที่เป็นบวก เราต้องค้นหาว่าอาร์เรย์นั้นสามารถแบ่งออกเป็นสองชุดย่อยได้หรือไม่ เพื่อให้ผลรวมขององค์ประกอบในชุดย่อยทั้งสองเท่ากัน ดังนั้นหากอินพุตเป็น [1,5,11,5] เอาต์พุตจะเป็นจริง เนื่องจากอาร์เรย์นี้สามารถแบ่งพาร์ติชันเป็น [1, 5, 5] และ [11] เพื่อแก้ปัญ
สมมติว่าเรามีสตริงที่ไม่ว่างซึ่งมีการแสดงตัวเลข 0-9 ภาษาอังกฤษที่ไม่เรียงลำดับ โดยจะส่งออกตัวเลขในลำดับจากน้อยไปมาก มีคุณสมบัติบางอย่าง - อินพุตรับประกันว่าถูกต้องและสามารถแปลงเป็นตัวเลขดั้งเดิมได้ นั่นหมายถึงไม่อนุญาตให้ป้อนข้อมูลที่ไม่ถูกต้อง เช่น abc หรือ zeone ความยาวอินพุตน้อยกว่า 50,000 ดัง
สมมติว่าเราได้ให้สตริง s ที่ประกอบด้วยตัวพิมพ์ใหญ่เท่านั้น เราสามารถดำเนินการได้มากที่สุด k การดำเนินการกับสตริงนั้น ในการดำเนินการเดียว เราสามารถเลือกอักขระใดๆ ของสตริงและเปลี่ยนเป็นอักษรตัวพิมพ์ใหญ่อื่นๆ ได้ เราต้องหาความยาวของสตริงย่อยที่ยาวที่สุดที่มีตัวอักษรซ้ำกันทั้งหมดที่เราจะได้รับหลังจากดำเ
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม ในช่วง 1 ≤ a[i] ≤ n (n =ขนาดของอาร์เรย์) ในที่นี้องค์ประกอบบางส่วนปรากฏขึ้นสองครั้งและบางส่วนปรากฏเพียงครั้งเดียว เราต้องหาองค์ประกอบทั้งหมดที่ปรากฏสองครั้งในอาร์เรย์นี้ ดังนั้นหากอาร์เรย์เป็น [4,3,2,7,8,2,3,1] ผลลัพธ์จะเป็น [2, 3] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอ
สมมติว่าเรามีสตริง เราต้องจัดเรียงอักขระตามความถี่ ดังนั้นหากสตริงเป็นเหมือน “abbbacbcc” ผลลัพธ์จะเป็น “bbbbcccaa” เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - สร้างอาร์เรย์ของคู่ที่เรียกว่า v สร้างหนึ่งแผนที่ m สำหรับอักขระทั้งหมดในสตริง เพิ่มค่าของ m[character] ขึ้น 1 i :=องค์ประกอบแรกของแผนที
สมมติว่าเรามีรายการของจำนวนเต็มที่ไม่ติดลบ, a1, a2, ..., an, และค่าอื่นที่เป็นเป้าหมาย, S. ตอนนี้เรามี 2 สัญลักษณ์ + และ - . สำหรับจำนวนเต็มแต่ละจำนวน เราควรเลือกหนึ่งรายการจาก + และ - เป็นสัญลักษณ์ใหม่ เราต้องหาวิธีกำหนดสัญลักษณ์ให้ได้จำนวนเต็มเท่ากับค่าเป้าหมาย S ดังนั้นถ้าตัวเลขเป็น [1,1,1,1,1] แ
สมมติว่าเรามีอาร์เรย์แบบวงกลม (องค์ประกอบถัดไปขององค์ประกอบสุดท้ายคือองค์ประกอบแรกของอาร์เรย์) เราต้องแสดงจำนวนที่มากกว่าถัดไปสำหรับทุกองค์ประกอบ ในที่นี้ จำนวนที่มากกว่าเดิมของจำนวน x เป็นจำนวนที่มากกว่าตัวแรกของลำดับการเคลื่อนที่ถัดไปในอาร์เรย์ ซึ่งหมายความว่าเราสามารถค้นหาแบบวงกลมเพื่อหาจำนวนที่ม
สมมุติว่าเรามีเหรียญหลายนิกายและจำนวนเงินทั้งหมด เราต้องเขียนโมดูลเพื่อคำนวณจำนวนชุดค่าผสมที่รวมกันเป็นจำนวนนั้น เราสามารถสรุปได้ว่าเรามีจำนวนเหรียญแต่ละชนิดเป็นอนันต์ ดังนั้นหากจำนวนเท่ากับ 5 และเหรียญเป็น [1, 2, 5] แสดงว่ามีสี่ชุดค่าผสม (1+1+1+1+1), (1+1+1+2), (1+2+2), (5) เพื่อแก้ปัญหานี้ เราจะท
สมมติว่าเรามีการจัดเรียงอาร์เรย์ที่ประกอบด้วยจำนวนเต็มเท่านั้น โดยที่ทุกองค์ประกอบปรากฏสองครั้งทุกประการ ยกเว้นองค์ประกอบหนึ่งที่ปรากฏเพียงครั้งเดียวทุกประการ เราต้องหาองค์ประกอบเดียวนี้ที่ปรากฏขึ้นเพียงครั้งเดียว ดังนั้นหากอาร์เรย์เป็นแบบ [1, 1, 2, 3, 3, 4, 4, 8, 8] ผลลัพธ์จะเป็น 2 เพื่อแก้ปัญหานี
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็มและจำนวนเต็ม k เราจำเป็นต้องค้นหาจำนวนทั้งหมดของอาร์เรย์ย่อยแบบต่อเนื่องซึ่งมีผลรวมเท่ากับ k ดังนั้นหาก nums array คือ [1, 1, 1] และ k คือ 2 ผลลัพธ์จะเป็น 2 เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - กำหนดหนึ่งแผนที่เรียกว่า sums, temp :=0, sums[0] :=1 and ans :=
สมมติว่าเรามีสองสตริง s1 และ s2 เราต้องเขียนฟังก์ชันให้คืนค่า จริง หาก s2 มีการเรียงสับเปลี่ยนของ s1 เราสามารถพูดได้ว่าการเรียงสับเปลี่ยนของสตริงแรกเป็นสตริงย่อยของสตริงที่สอง ดังนั้นหากสตริง s1 =abc และสตริงที่สอง s2 คือ findcab ผลลัพธ์จะเป็นจริง เนื่องจากการเปลี่ยนลำดับของ abc เป็นจริง นั่นคือ “แท
สมมติว่าเรามีคำสองคำ w1 และ w2 เราต้องหาจำนวนขั้นตอนขั้นต่ำที่จำเป็นในการทำให้ w1 และ w2 เหมือนกัน โดยในแต่ละขั้นตอน เราสามารถลบอักขระหนึ่งตัวในสตริงใดก็ได้ . ดังนั้นหากอินพุตเป็นเหมือน ทะเล และ กิน ผลลัพธ์จะเป็น 2 เนื่องจากเราต้องลบ s ออกจาก w1 นี่จะเป็น ea และลบ t ออกจาก eat จาก w2 แล้วพวกเขาก็เหม
สมมติว่าเรามีอาร์เรย์ที่จัดเรียงแล้ว โดยจะมีจำนวนเต็มสองตัว k และ x ด้วย เราต้องหาองค์ประกอบ k ที่ใกล้เคียงที่สุดกับ x ในอาร์เรย์นั้น ผลลัพธ์ควรเรียงลำดับเพิ่มขึ้น หากเสมอกัน ควรใช้องค์ประกอบที่เล็กกว่าเสมอ ดังนั้นหากอินพุตเป็น [1,2,3,4,5] และ k =4, x =3 เอาต์พุตจะเป็น [1,2,3,4] เพื่อแก้ปัญหานี้ เร
สมมุติว่าเรามีอาร์เรย์ของจำนวนเต็มที่ไม่เรียงลำดับ เราต้องหาจำนวนลำดับการเพิ่มขึ้นที่ยาวที่สุด ดังนั้นหากอินพุตเป็นเช่น [1, 3, 5, 4, 7] ผลลัพธ์จะเป็น 2 เนื่องจากลำดับย่อยที่เพิ่มขึ้นคือ [1,3,5,7] และ [1, 3, 4, 7] เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - n :=ขนาดของอาร์เรย์ num สร้างสองอาร์เรย์
สมมติว่าเรามีรายการคำที่ไม่ว่างเปล่า เราต้องหาองค์ประกอบ k ที่พบบ่อยที่สุด คำตอบของเราควรจัดเรียงตามความถี่จากสูงสุดไปต่ำสุด เมื่อคำสองคำมีความถี่เท่ากัน คำที่เรียงตามตัวอักษรต่ำกว่าจะถูกวางไว้ในตอนแรก ดังนั้นหากอาร์เรย์เป็นเหมือน [the, sky, is, blue, the, weather, is, comfortable] คำที่ใช้บ่อยที่สุ
สมมติว่าเรามีอาร์เรย์ของจำนวนเต็มที่เรียกว่า nums และจำนวนเต็มบวก k ให้ตรวจสอบว่าเป็นไปได้หรือไม่ที่จะแบ่งอาร์เรย์นี้เป็นชุดย่อยที่ไม่ว่างเปล่า k ซึ่งมีผลรวมเหมือนกันทั้งหมด ดังนั้นหากอาร์เรย์เป็นเหมือน [4,3,2,3,5,2,1] และ k =4 ผลลัพธ์จะเป็น True เนื่องจากอาร์เรย์ที่กำหนดสามารถแบ่งออกเป็นสี่อาร์เรย์
สมมติว่าเรามีแผนผังการค้นหาแบบไบนารี เราต้องเขียนวิธีเดียวเท่านั้นที่ดำเนินการแทรกด้วยโหนดที่กำหนดเป็นพารามิเตอร์ เราต้องจำไว้ว่าหลังจากการผ่าตัด ต้นไม้จะยังคงอยู่ BST ด้วย ดังนั้นถ้าต้นไม้เป็นเหมือน − ถ้าเราใส่ 5 ต้นไม้จะเป็น − เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - วิธีนี้เป็นแบบเรียก
สมมติว่าเรามีคำสองคำ w1 และ w2 เราต้องหาผลรวม ASCII ที่ต่ำที่สุดของอักขระที่ถูกลบเพื่อให้ w1 และ w2 เหมือนกัน โดยในแต่ละขั้นตอน เราสามารถลบอักขระได้หนึ่งตัวใน สตริง ดังนั้นหากอินพุตเป็นเหมือน ทะเล และ กิน ผลลัพธ์จะเป็น 231 เนื่องจากเราต้องลบ s ออกจาก w1 นี่จะเป็น ea และลบ t จาก eat จาก w2 แล้วพวกเขา