คำถามติดแท็ก array-manipulation

การแข่งขันเพื่อแก้ปัญหาเฉพาะผ่านการใช้งานและการจัดการของอาร์เรย์

29
หลายที่พบมากที่สุด
เพื่อไม่ให้สับสนกับตัวคูณร่วมน้อย รับรายการของจำนวนเต็มบวกที่มีมากกว่าหนึ่งองค์ประกอบส่งคืนผลิตภัณฑ์ที่พบมากที่สุดของสององค์ประกอบในอาร์เรย์ ตัวอย่างเช่น MCM ของรายการ[2,3,4,5,6]คือ12ตามตารางผลิตภัณฑ์คือ: 2 3 4 5 6 --------------- 2 | # 6 8 10 12 3 | # # 12 15 18 4 | # # # 20 24 5 | # # # # 30 6 | # # # # # ขอบคุณ DJMcMayhem สำหรับโต๊ะ ตามที่12ปรากฏครั้งมากที่สุด …

19
หมุนคอลัมน์
กำหนดจำนวนเต็มkและบล็อกข้อความหรืออาร์เรย์ 2d ที่อาร์เรย์ภายในอาจมีความยาวไม่เท่ากัน (ซึ่งคล้ายกับบล็อกข้อความ) หมุนทุกตัวอักขระหรือองค์ประกอบในคอลัมน์k -th ขึ้นหรือลงไปยังตำแหน่งถัดไป ที่มีอยู่ ตัวอย่าง หมุนคอลัมน์ที่ 20 ของข้อความต่อไปนี้ (แบบ 1): A line with more than k characters. A longer line with more than k character. A short line. Rotate here: ------v-- This is long enough. This is not enough. Wrapping around to the first line. เอาท์พุท: …

30
ทำเวกเตอร์ให้เป็นมาตรฐาน
การทำเวกเตอร์ให้เป็นมาตรฐานคือการปรับสเกลให้มีความยาว 1 ( เวกเตอร์หน่วย ) ในขณะที่ทำให้ทิศทางสอดคล้อง ตัวอย่างเช่นถ้าเราต้องการทำให้เวกเตอร์เป็นมาตรฐานด้วย 3 องค์ประกอบคุณจะพบความยาวก่อน: | ยู | = sqrt (u x 2 + u y 2 + u z 2 ) ... และจากนั้นปรับขนาดส่วนประกอบแต่ละส่วนด้วยค่านี้เพื่อให้มีความยาว 1 เวกเตอร์ û = u ÷ | u | ความท้าทาย งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งได้รับรายการที่ไม่ว่างของจำนวนเต็มที่ลงนามแล้วตีความมันเป็นเวกเตอร์และทำให้เป็นปกติ สิ่งนี้ควรใช้ได้กับทุกขนาดเช่น (กรณีทดสอบปัดเศษเป็นทศนิยมสองตำแหน่ง): [20] -> [1] [-5] -> [-1] [-3, 0] -> …

23
การจัดเรียงพื้นฐานพร้อมข้อบกพร่องที่น่ารำคาญ
ข้อมูลของคุณเป็นรายการ / ลำดับ / เวกเตอร์ / อาร์เรย์ของจำนวนเต็มบวก 5-255 ไม่จำเป็นต้องซ้ำกัน คุณอาจจะสมมติว่ารูปแบบการป้อนข้อมูลใดที่เหมาะสมที่สุดและแต่ละจำนวนเต็ม (รวมถึงปริมาณของจำนวนเต็ม) จะถูกเลือกอย่างสม่ำเสมอโดยการสุ่มจากช่วงที่ 5-255 เป้าหมายคือการส่งออกรายการเดียวกันในรูปแบบเดียวกัน (หรือเทียบเท่า) แต่เรียงลำดับเป็นการเพิ่ม (ไม่มีการลบ) ลำดับ แบบฝึกหัดทั่วไปในการเรียนรู้ภาษา ส่งไปยังรวมถึง: คำตอบที่ทำงานได้อย่างถูกต้องและบรรลุเป้าหมาย และ คำตอบที่สองซึ่งมีข้อผิดพลาดที่น่ารำคาญ ระหว่าง 1% ถึง 10% ของเวลาเอาต์พุตต้องเป็นรายการในรูปแบบที่ถูกต้องและมีองค์ประกอบที่ถูกต้อง แต่ในลำดับที่ไม่ถูกต้อง (ลำดับใด ๆ ยกเว้นเรียงอย่างถูกต้อง) เวลาที่เหลือโปรแกรมจะต้องทำงานอย่างถูกต้องและบรรลุเป้าหมาย คำตอบทั้งสองจะต้องมีระยะทางหนึ่งLevenshtein ; นั่นคือเราสามารถรับหนึ่งจากอื่น ๆ โดยการลบหนึ่งไบต์หรือเพิ่มหนึ่งไบต์หรือเปลี่ยนหนึ่งไบต์ การให้คะแนนตามปกติในการเล่นกอล์ฟ (ขึ้นอยู่กับคำตอบสั้น ๆ ของคุณทั้งสอง) โดยห้ามช่องโหว่ตามปกติ โบนัส 10% (ลดลงเป็นคะแนน) หากบั๊กที่น่ารำคาญนั้นเป็นอิสระต่อกันเช่นการใช้อินพุตเดียวกันอีกครั้งจะไม่สร้างข้อผิดพลาดขึ้นอีก (ยกเว้นระหว่าง 1% ถึง …

6
ช่วยด้วย! เครื่องคิดเลขของฉันทำงานผิดปกติ!
บทนำ เครื่องคิดเลขของฉันมีพฤติกรรมแปลก ๆ บางครั้งเมื่อฉันพิมพ์ในจะแสดง8 2และบางครั้งเมื่อฉันพิมพ์ในจะแสดง6 +ปุ่มบางปุ่มผสมกัน! ใครสามารถช่วยฉันพิจารณาว่าอันไหน ท้าทาย: อินพุต:รายการสมการที่ไม่ถูกต้องพร้อมผลลัพธ์ที่ถูกต้อง เอาท์พุท:สองปุ่มที่สลับ ตัวอย่างเช่น: อินพุตอาจเป็น: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 ซึ่งผลที่คาดว่าจะเป็น: และ2* ทำไม? เนื่องจากสมการทั้งหมดจะถูกต้องหากเราสลับ 2 และ * ของ: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

30
ค้นหาฝาแฝดที่ไม่ซ้ำกัน
คุณจะได้รับสองอาร์เรย์ / รายการ / เวกเตอร์ของจำนวนเต็มไม่เป็นลบและB งานของคุณคือการส่งออกที่สูงที่สุดจำนวนเต็มNที่ปรากฏทั้งในและBและยังเป็นที่ไม่ซ้ำกันทั้งในและB คุณอาจคิดว่ามีอย่างน้อยหนึ่งหมายเลข อนุญาตให้ใช้วิธี / รูปแบบอินพุตและเอาต์พุตใด ๆ ที่สมเหตุสมผล ช่องโหว่เหล่านี้เป็นสิ่งต้องห้าม นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในทุกภาษาการเขียนโปรแกรมจะเป็นผู้ชนะ! กรณีทดสอบ: A, B -> เอาท์พุท [6], [1, 6] -> 6 [1, 2, 3, 4], [4, 5, 6, 7] -> 4 [0, 73, 38, 29], [38, 29, 73, 0] -> 73 [1, 3, 4, 6, 6, 9], …

30
สามเหลี่ยมจำนวน!
เราจะใช้คำว่า "กู้หน้า" nหมายถึงการคำนวณn 2 นอกจากนี้เรายังมีการใช้คำว่า "cubing" nหมายถึงn 3 ที่ถูกกล่าวว่าทำไมเราไม่สามารถสามเหลี่ยมจำนวน? สามเหลี่ยมเป็นอย่างไร? ก่อนอื่นเรามาเลือกหมายเลข53716กัน วางตำแหน่งในรูปสี่เหลี่ยมด้านขนานซึ่งความยาวด้านเท่ากับจำนวนหลักของตัวเลขและมีตำแหน่งทั้งสองด้านในแนวทแยงมุมดังที่แสดงด้านล่าง 53716 53716 53716 53716 53716 ตอนนี้เราต้องการที่จะใช่มั้ย หากต้องการทำเช่นนั้นให้ครอบตัดด้านที่ไม่พอดีกับรูปสามเหลี่ยมมุมฉาก: 5 53 537 5371 53716 รับผลรวมของแต่ละแถวสำหรับตัวอย่างนี้ทำให้[5, 8, 15, 16, 22]: 5 -> 5 53 -> 8 537 -> 15 5371 -> 16 53716 -> 22 รวมรายการที่เกิดใน[5, 8, 15, 16, 22] 66นี่คือสามเหลี่ยมของตัวเลขนี้! …

16
บิดเบือนความจริงสั้น ๆ
ค้นหาความจริงที่ยาวนานที่สุดในรายการบูลีน ส่งคืนรายการเดียวกันพร้อมกับความจริงอื่น ๆ ทั้งหมดที่เท็จ อินพุตเอาต์พุต รายการ; รูปแบบปกติใด ๆ (เช่นรายการที่คั่นด้วยสตริง) รายละเอียด จริงและเท็จสามารถเป็นอะไรก็ได้ที่ภาษาของคุณมักใช้สำหรับค่าเหล่านั้นหรือจำนวนเต็ม 1 และ 0 หากคุณใช้อักขระเดี่ยวรายการอาจเป็นการต่อกัน (เช่น10001) หากมีการเสมอกันสำหรับการวิ่งที่ยาวที่สุดให้วิ่งการวิ่งทั้งหมดเป็นจริงและปลอมแปลงการวิ่งที่สั้นกว่าทั้งหมด ตัวอย่าง input ↦ output 1,0,1,0,1 ↦ 1,0,1,0,1 1,1,0,1,1,0,1 ↦ 1,1,0,1,1,0,0 1,1,0,1,1,1,0,1,1 ↦ 0,0,0,1,1,1,0,0,0 1,1,1 ↦ 1,1,1 0,0,1 ↦ 0,0,1 0,0 ↦ 0,0 1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0 ↦ 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 (โดยตรงจากhttps://stackoverflow.com/q/37447114 )

27
การเปลี่ยนสับเปลี่ยนบิตกลับ
เป้าหมายของคุณคือการสร้างฟังก์ชั่นหรือโปรแกรมที่จะย้อนกลับบิตในช่วงของจำนวนเต็มให้จำนวนเต็มn กล่าวอีกนัยหนึ่งคุณต้องการค้นหาการเปลี่ยนรูปบิตกลับรายการช่วง 2 nรายการซึ่งไม่มีดัชนี และนี่ก็เป็นลำดับ OEIS A030109 กระบวนการนี้มักใช้ในการคำนวณ Fast Fourier Transforms เช่นอัลกอริทึม Cooley-Tukey ในสถานที่สำหรับ FFT นอกจากนี้ยังมีความท้าทายสำหรับการคำนวณ FFT สำหรับลำดับที่ความยาวคือพลังของ 2 กระบวนการนี้กำหนดให้คุณทำซ้ำในช่วง [0, 2 n -1] และแปลงแต่ละค่าเป็นไบนารีและแปลงบิตในค่านั้น คุณจะได้รับการรักษาแต่ละค่าเป็นnจำนวน -digit ในฐาน 2 ซึ่งหมายถึงการกลับรายการจะเกิดขึ้นในหมู่สุดท้ายnบิต ตัวอย่างเช่นถ้าn = 3 [0, 1, 2, 3, 4, 5, 6, 7]ช่วงของจำนวนเต็มคือ เหล่านี้คือ i Regular Bit-Reversed j 0 000 000 0 …

25
ดัชนีของอาร์เรย์หลายมิติ
ภาษาระดับต่ำกว่าเช่น C และ C ++ จริง ๆ แล้วไม่มีแนวคิดของอาร์เรย์หลายมิติ (นอกเหนือจากเวกเตอร์และอาร์เรย์แบบไดนามิก) เมื่อคุณสร้างอาร์เรย์หลายมิติด้วย int foo[5][10]; นี้เป็นจริงเพียงแค่น้ำตาลประโยค สิ่งที่ C ทำจริงๆคือสร้างอาเรย์เดี่ยวที่ต่อเนื่องกันขององค์ประกอบ5 * 10 นี้ foo[4][2] ยังเป็นน้ำตาล syntactic นี่หมายถึงองค์ประกอบที่ 4 * 10 + 2 หรือองค์ประกอบที่ 42 โดยทั่วไปดัชนีขององค์ประกอบ[a][b]ในอาร์เรย์foo[x][y]อยู่ที่ a * y + b แนวคิดเดียวกันนี้ใช้กับอาร์เรย์ 3 มิติ ถ้าเรามีfoo[x][y][z]และเราเข้าถึงองค์ประกอบ[a][b][c]เราเข้าถึงองค์ประกอบจริงๆ: a * y * z + b * z + …

15
แสดงให้เห็นถึงสแควร์ของทวินาม
ได้รับ (โดยวิธีการใด ๆ ) สองจำนวนธรรมชาติที่แตกต่างกัน (ขนาดใด ๆ ที่เหมาะสม), เอาท์พุท (โดยวิธีการใด ๆ ) กำลังสองของผลรวมของพวกเขาดังในตัวอย่างด้านล่าง: รับ 4 และ 3 ผลลัพธ์: 12 12 12 12 9 9 9 12 12 12 12 9 9 9 12 12 12 12 9 9 9 16 16 16 16 12 12 12 16 16 16 16 …

12
อายุการใช้งานของ Worm
ข้อตกลงและเงื่อนไข หนอนคือรายการของจำนวนเต็มไม่เป็นลบใด ๆ และขวาสุด (เช่นที่ผ่านมา ) องค์ประกอบที่เรียกว่าหัว ถ้าหัวไม่ได้เป็น 0, หนอนมีส่วนที่ใช้งานซึ่งประกอบด้วยบล็อกที่ต่อเนื่องกันยาวที่สุดขององค์ประกอบที่มีหัวและมีทุกองค์ประกอบอย่างน้อยมีขนาดใหญ่เท่าหัว ส่วนที่ใช้งานลดลงเป็นส่วนที่ใช้งานกับหัว decremented โดย 1 ตัวอย่างเช่นหนอน3 1 2 3 2มีส่วนที่ใช้งานและในส่วนของการใช้งานลดลงคือ2 3 22 3 1 กฎของวิวัฒนาการ หนอนวิวัฒนาการทีละขั้นตอนดังนี้: ในขั้นตอน t (= 1, 2, 3, ... ) หากส่วนหัวเป็น 0: ลบส่วนหัว อื่น: แทนที่ส่วนที่ใช้งานอยู่ด้วย t + 1 ที่ต่อกันกับสำเนาของส่วนที่ทำงานลดลง ความเป็นจริง : หนอนใด ๆ ในที่สุดก็วิวัฒนาการเป็นรายการที่ว่างเปล่าและจำนวนของขั้นตอนในการทำเช่นนั้นเป็นหนอนของอายุการใช้งาน (รายละเอียดสามารถพบได้ในหลักการหนอนกระดาษโดย LD Beklemishev …

30
ค้นหาจดหมายที่หายไป
แนวทาง งาน เขียนวิธีการที่ใช้อาร์เรย์ของตัวอักษรต่อเนื่อง (เพิ่มขึ้น) เป็นอินพุตและส่งคืนตัวอักษรที่หายไปในอาร์เรย์ (รายการในบางภาษา) กฎระเบียบ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ! คุณจะได้รับอาร์เรย์ที่ถูกต้องเสมอ จะมีตัวอักษรหนึ่งตัวที่หายไปเสมอ ความยาวของอาร์เรย์จะมีอย่างน้อย 2 เสมอ อาร์เรย์จะมีตัวอักษรเสมอในกรณีเดียว (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) คุณต้องเอาต์พุตในกรณีเดียวกัน (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) ที่อินพุตนั้น อาร์เรย์จะใช้เวลาเพียงหนึ่งตัวอักษรเสมอ (ข้ามตัวอักษรที่หายไป) ความยาวของอาเรย์จะอยู่ระหว่าง 2 ถึง 25 องค์ประกอบแรกหรือสุดท้ายของอาร์เรย์จะไม่หายไป ตัวอย่าง ['a','b','c','d','f'] -> 'e' ['O','Q','R','S'] -> 'P' ['x','z'] -> 'y' ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z'] -> 'v'

30
ตัดแต่งอาร์เรย์!
รับอาร์เรย์จำนวนเต็มและตัวเลขสองตัวเป็นอินพุตลบจำนวนแรกขององค์ประกอบแรกและสุดท้ายตามที่ระบุโดยตัวเลข อินพุตสามารถอยู่ในลำดับใดก็ได้ที่คุณต้องการ คุณควรลบองค์ประกอบxแรกโดยที่xคืออินพุตตัวเลขแรกและลบองค์ประกอบyสุดท้ายโดยที่yคืออินพุตตัวเลขตัวที่สอง อาร์เรย์ที่ได้นั้นรับประกันว่าจะมีความยาวอย่างน้อยสองตัว ตัวอย่าง: [1 2 3 4 5 6] 2 1 -> [3 4 5] [6 2 4 3 5 1 3] 5 0 -> [1 3] [1 2] 0 0 -> [1 2]

15
มันเป็นรหัส OVSF หรือไม่
รับรายการ1s และ-1s พิจารณาว่าเป็นรหัส OVSF ที่ถูกต้องหรือไม่(โดยการส่งออกค่าความจริงหรือความเท็จ) รหัส OVSF ถูกกำหนดดังนี้: [1] เป็นรหัส OVSF ถ้าXเป็นรหัส OVSF ดังนั้นX ++ XและX ++ -Xเป็นทั้งรหัส OVSF นี่++คือการเรียงลำดับรายการและ-คัดค้านองค์ประกอบทุกรายการในรายการ ไม่มีรายการอื่น ๆ ที่เป็นรหัส OVSF ที่ถูกต้อง คุณอาจสมมติว่ารายการอินพุตมีเพียง-1และ1แต่คุณต้องจัดการรายการว่างอย่างถูกต้องเช่นเดียวกับรายการที่ความยาวไม่ใช่พลังของ 2 รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ กรณีทดสอบ [] -> False [1] -> True [-1] -> False [1, 1] -> True [1, -1] -> True [1, 1, …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.