ถุงเรียกว่ายังเป็น MultiSet เป็นคอลเลกชันเรียงลำดับ คุณสามารถเรียกมันว่าชุดที่อนุญาตให้ทำซ้ำหรือรายการ (หรืออาร์เรย์) ที่ไม่ได้เรียงลำดับ / จัดทำดัชนี ในความท้าทายนี้คุณจะถูกขอให้ดำเนินการเกี่ยวกับกระเป๋า: การเพิ่มการทดสอบการแตกการหารการนับและการทดสอบความเสมอภาค
การดำเนินงาน
การดำเนินการที่ระบุอาจไม่ธรรมดา
- นอกจากนี้รวมสองถุงเป็นหนึ่งเดียวรักษาจำนวนรวมของแต่ละค่า
[1,2,2,3] + [1,2,4] = [1,1,2,2,2,3,4]
- ความแตกต่างจะลบออกจากถุงแต่ละองค์ประกอบของถุงอื่นหรือไม่ทำอะไรเลยหากไม่มีองค์ประกอบดังกล่าว
[1,2,2,4] - [1,2] = [2,4]
[1,2,3] - [2,4] = [1,3]
- การคูณทวีคูณแต่ละองค์ประกอบในถุง
[1,2,3,3,4] * 3 = [1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3] = [1,1,3,3]
- การหารเป็นเรื่องแปลกหนึ่ง: แต่ละองค์ประกอบที่เท่ากันจะถูกใส่ในถุงใหม่ที่เท่ากันองค์ประกอบที่ไม่สามารถสร้างกลุ่ม n ให้อยู่ในถุงได้ ส่งคืนหนึ่งในถุงใหม่ n
[1,1,2,2,2] / 2 = [1,2]
[1,2,2,3,3,3] / 3 = [3]
- การนับจะนับจำนวนถุงหารที่สามารถผลิตได้จากถุงปันผล
[1,1,2,2,2,2,3,3,3] c [1,2,3] = 2
- การทดสอบความเท่าเทียมกันจะตรวจสอบว่าถุงสองใบมีจำนวนเท่ากันในแต่ละองค์ประกอบ
[1,2,2,3] == [3,2,1,2] = truthy
[1,2,3] == [1,2,2,3] = falsy
(สามารถใช้=
กับสิ่งนี้ได้)
หากคุณใช้สัญลักษณ์ของคุณเองสำหรับผู้ให้บริการโปรดระบุ
รูปแบบ
[1,1,2,3,4]
กระเป๋าจะแสดงเป็นรายการของรูปแบบ คุณสามารถใช้วงเล็บอื่นที่ไม่ใช่สี่เหลี่ยมจัตุรัสหรือใช้เครื่องหมายคำพูดหรืออะไรก็ได้เลย องค์ประกอบจะเป็นจำนวนเต็ม (ทางคณิตศาสตร์ไม่จำเป็นint
) สำหรับจุดประสงค์ของคำถามนี้ ไม่ต้องเรียงกระเป๋า
รูปแบบการป้อนข้อมูลจะมีสองกระเป๋าหรือถุงและจำนวนเต็มกับผู้ดำเนินการ คุณสามารถระบุรูปแบบของคุณเองตราบเท่าที่มันมีสามสิ่งนี้
รูปแบบการออกควรจะเป็นถุงเดียวของรูปแบบเดียวกัน
กฎระเบียบ
- คุณไม่สามารถใช้ฟังก์ชั่นการทำงานหรือไลบรารีในตัว (รวมถึงไลบรารีมาตรฐาน) ที่ใช้งานได้ มันก็โอเคที่จะใช้การเรียงลำดับรายการและการคูณเนื่องจากเป็นการดำเนินการตามรายการนิยามไม่ใช่การทำงานของถุง (ซึ่งเกิดขึ้นกับการทำสิ่งเดียวกันโดยทั่วไป)
- ช่องโหว่มาตรฐานใช้
- คำตอบที่สั้นที่สุดชนะ
กรณีทดสอบ
[1,2,2,3] + [1,2,4]
[1,1,2,2,2,3,4]
[1,2,2,4] - [1,2]
[2,4]
[1,2,3] - [2,4]
[1,3]
[1,2,3,3,4] * 3
[1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3]
[1,1,3,3]
[1,1,2,2,2] / 2
[1,2]
[1,2,2,3,3,3] / 3
[3]
[1,1,2,2,2,2,3,3,3] c [1,2,3]
2
[3,2,1,2] == [1,2,2,3]
truthy
[1,2,3] == [1,2,2,3]
falsy