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

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

7
เพื่อนบ้านของใครเป็นศัตรู
บทนำ สำหรับวัตถุประสงค์ของการท้าทายนี้เราจะกำหนดเพื่อนบ้านขององค์ประกอบในตารางเมทริกซ์ (เช่น ) เป็นรายการทั้งหมดของ ที่อยู่ติดกันในแนวทแยงมุมแนวนอนหรือแนวตั้งเป็น (เช่นพวกเขา"ล้อมรอบ"โดยไม่ต้องล้อมรอบ)A E = A i , j A EEEEAAAE=Ai,jE=Ai,jE=A_{i,j}AAAEEE EEE สำหรับ pedants คำนิยามอย่างเป็นทางการของเพื่อนบ้านของสำหรับ matixคือ (ดัชนี 0): โดยที่ n×n N ฉัน,Ai,jAi,jA_{i,\:j}n×nn×nn\times nAAAE ฉัน,Ni,j={Aa,b∣ ( a , b )∈Ei,j∩([0,n)∩Z)2}Nผม,J={Aa,ข|(a,ข)∈Eผม,J∩([0,n)∩Z)2}N_{i,\:j}=\{A_{a,\:b}\mid(a,b)\in E_{i,\:j}\:\cap\:([0,\:n)\:\cap\:\Bbb{Z})^2\}Eผม,J= { i - 1,ผม,i+1}×{j−1,j,j+1} \ {i,j}Ei,j={i−1,i,i+1}×{j−1,j,J+1} \ {ผม,J}E_{i,\:j}=\{i-1,\:i,\:i+1\}\times \{j-1,\:j,\:j+1\} \text{ \\ } \{i,\:j\} สมมติว่าองค์ประกอบที่ indexอาศัยอยู่ในความเป็นศัตรูถ้ามันเป็น coprime …

4
องค์ประกอบสิบอันดับแรกที่คุณไม่เชื่อว่าอยู่ในชุดนี้
AKA: สร้าง Clickbait จากแถวลำดับ เมื่อกำหนดจำนวนเต็มให้สร้าง clickbait ที่คุ้มค่าขึ้นอยู่กับการจัดเรียงและความยาว: หากเป็น 20 องค์ประกอบหรือน้อยกว่าคุณสามารถสร้างรายการ X อันดับสูงสุด พารามิเตอร์: ความยาวของอาร์เรย์ ตัวเลขสำคัญคือดาราดังนั้นเมื่อใดก็ตามที่มีสองคนอยู่ติดกันมันจะผ่านเหมือนการนินทา พารามิเตอร์: สองช่วงเวลาที่อยู่ติดกันตามลำดับที่ปรากฏในอาร์เรย์ หากหมายเลขใด ๆ ปรากฏขึ้นสองครั้งหรือมากกว่าในอาเรย์นั้นมันน่าตกใจและไม่น่าเชื่อและทุกคนต้องการได้ยินเกี่ยวกับมัน หากมีตัวเลขหลายตัวปรากฏขึ้นสองครั้งให้สร้างข่าวขึ้นมาสำหรับแต่ละคน พิมพ์หนึ่งครั้งต่อหมายเลขที่ไม่ซ้ำกันเท่านั้น พารามิเตอร์: การเกิดขึ้นของจำนวนที่วัดโดยลักษณะที่ปรากฏทั้งหมด หากคุณเห็นองค์ประกอบ 3 รายการเรียงตามลำดับที่ เพิ่มขึ้นแบบ monotonicallyตามด้วยการลดลงอย่างกะทันหันให้บอกว่าพวกเขาเรียงลำดับแล้วหยอกล้อว่าจะเกิดอะไรขึ้นต่อไป ทำเช่นนี้เพียงครั้งเดียวต่อตรง พารามิเตอร์: ความยาวของเส้นตรง นี่คือ clickbaits ที่เกี่ยวข้องที่คุณควรใช้: The Top {{N}} Array Elements {{N1}} And {{N2}} Were Spotted Together, You Won't Believe What …

2
เกาะโดดเดี่ยว
การป้อนข้อมูล: อาร์เรย์ 2 มิติที่มีค่าแตกต่างกันสองค่า ฉันจะใช้0และ1เมื่ออธิบายกฎ รูปแบบการป้อนข้อมูลมีความยืดหยุ่นแน่นอน ท้าทาย: เลขศูนย์คือน้ำและอีกอันคือเกาะ เพื่อให้มั่นใจในความเหงางานของคุณคือล้อมรอบเกาะด้วยน้ำโดยการแทรกแถวและคอลัมน์ของศูนย์ คุณไม่ต้องการเสียน้ำดังนั้นคุณต้องลดปริมาณน้ำที่เติมเข้าไป ในกรณีที่มีวิธีการแก้ปัญหามากกว่าหนึ่งวิธีที่ต้องใช้น้ำในปริมาณเดียวกันคุณควรเพิ่มคอลัมน์ของน้ำไม่ใช่แถว ฉันจะแสดงสิ่งนี้ในกรณีทดสอบ เอาท์พุท: อาร์เรย์ 2D ใหม่ที่ได้รับการแก้ไข รูปแบบผลลัพธ์มีความยืดหยุ่นแน่นอน กรณีทดสอบ: อินพุตและเอาต์พุตถูกคั่นด้วยขีดกลาง เลขศูนย์ที่เพิ่มจะแสดงเป็นตัวอักษรตัวหนา ใช้หนึ่งในคำตอบที่นี่หากคุณต้องการแปลงกรณีทดสอบเป็นรูปแบบที่สะดวกกว่า 1 --- 1 1 1 --- 1 0 1 1 1 1 1 --- 1 0 1 0 0 0 1 0 1 1 0 0 1 --- 1 …

22
รายการคาร์ทีเซียนของรายการด้วยตัวเอง n ครั้ง
เมื่อได้รับรายชื่อ aa และค่าจำนวนเต็มบวกnรหัสของคุณควรเอาท์พุทผลิตภัณฑ์คาร์ทีเซียนของรายการด้วยnเวลาตัวเอง ตัวอย่างเช่นใน pseudocode ฟังก์ชั่นของคุณอาจคล้ายกับ: for x1 in list: for x2 in list: for x3 in list: ... for xn in list: print x1, x2, x3, ... , xn ตัวอย่าง: repeated_cart([1,2,3], 3) 1 1 1 1 1 2 1 1 3 1 2 1 1 2 2 1 2 …

26
ค่าเฉลี่ยถ่วงน้ำหนัก - ปัญหาแนวโน้มการกด
สมมติว่าอาร์เรย์นี้มีจำนวนการกดอัพที่ฉันทำได้ในแต่ละวันในช่วง 28 วันที่ผ่านมา: [ 20,20,20,30,30,30,30, 35,35,40,40,40,45,45, 50,50,50,50,50,50,50, 60,70,80,90,100,110,120 ] อย่างที่คุณเห็นมันเป็นแนวโน้มที่สูงชันในสัปดาห์ที่ผ่านมาและนั่นเป็นส่วนหนึ่งของข้อมูลนี้ที่ฉันสนใจมากที่สุดยิ่งในอดีตที่ผ่านมายิ่งฉันต้องการให้ข้อมูลนั้นมีค่าเฉลี่ยน้อยลง จำนวนกด ด้วยเหตุนี้ฉันต้องการคำนวณ 'ค่าเฉลี่ย' ซึ่งแต่ละสัปดาห์มีค่ามากกว่าสัปดาห์ที่แล้ว ข้อมูลความเป็นมาไม่ใช่ส่วนหนึ่งของปัญหานี้ ค่าเฉลี่ยปกติ: ผลรวมของค่าทั้งหมด / จำนวนของค่า สำหรับด้านบน: 1440/28 = 51.42857142857143 ค่าเฉลี่ยถ่วงน้ำหนัก: แบ่งอาร์เรย์ออกเป็น 4 กลุ่มจาก 7 และเริ่มอาร์เรย์ใหม่ เพิ่มกลุ่มแรกลงในอาร์เรย์ เพิ่มกลุ่มที่สองในอาร์เรย์สองครั้ง เพิ่มกลุ่มที่สามลงในอาร์เรย์สามครั้ง เพิ่มกลุ่มที่สี่ลงในอาร์เรย์สี่ครั้ง รวมอาเรย์ใหม่ทั้งหมดแล้วหารด้วยความยาวของอาเรย์ใหม่ สำหรับด้านบน: แปลงอาเรย์เป็น: [ 20,20,20,30,30,30,30, # first week once 35,35,40,40,40,45,45, 35,35,40,40,40,45,45, # second week twice 50,50,50,50,50,50,50, 50,50,50,50,50,50,50, …

1
Advent Challenge 8: การวางแผนการขนส่งรถเข็นที่เก็บ
<< ก่อนหน้า ต้องขอบคุณชุมชน PPCG ตอนนี้ซานต้าจึงมีรถเข็นจัดเก็บของเขาสมดุล ตอนนี้เขาต้องการย้ายพวกเขาไปยังท่าเรือขนส่งเพื่อให้พวกเขาสามารถส่งไปยังอ่าวโหลด โชคไม่ดีที่แทร็คที่จะย้ายเกวียนเป็นเรื่องยุ่งเหยิงและเขาต้องการที่จะเข้าใจว่าจะนำพวกมันไปรอบ ๆ ได้อย่างไรโดยที่พวกเขาไม่ชนกัน! ท้าทาย คุณจะได้รับแทร็กสำหรับรถเข็นแต่ละรายการเป็นรายการของ "ป้ายกำกับ" (หรือสถานี) รถเข็นต้องเคลื่อนย้ายโดยไม่ต้องมีรถเข็นสองคันอยู่บนฉลาก / สถานีเดียวกัน โดยพื้นฐานแล้วรถเข็นจะเลื่อนไปมาระหว่างตำแหน่งที่แต่ละป้ายมีป้ายกำกับที่ไม่ซ้ำกัน งาน กำหนดแทร็กสำหรับรถเข็นแต่ละคันให้เป็นรายการของป้ายกำกับ (ซึ่งเป็นจำนวนเต็มบวกทั้งหมด) กำหนดว่าควรปล่อยรถเข็นแต่ละคันเมื่อใดเพื่อส่งรถเข็นทั้งหมดไปยังจุดหมายปลายทางอย่างปลอดภัยในเวลาอันสั้นที่สุด นี่คือคำอธิบายว่าระบบติดตามทั้งหมดทำงานอย่างไร รถเข็นพูด Let 's iถูกปล่อยออกมาในเวลาที่เข้าสู่การติดตามที่มีป้ายกำกับt_i T_i_1, T_i_2, ..., T_i_nจากนั้นในระหว่างt_1ถึงt_i-1รถเข็นiไม่ได้อยู่ในกริดและสามารถละเว้นได้ ในกรอบเวลาที่t_iรถเข็นที่อยู่บนฉลากT_i_1และสำหรับกรอบเวลาในแต่ละt_kจากt_iไปt_i+n(ครึ่งรวม) T_i_k+1รถที่อยู่บนฉลาก สำหรับกรอบเวลาทั้งหมดหลังจากและรวมถึงt_i+nรถเข็นอยู่ที่ปลายทางและไม่อยู่ในกริดอีกต่อไป จำนวนเวลาทั้งหมดที่t_Tใช้คือกรอบเวลาสุดท้ายที่รถเข็นยังคงติดตามอยู่ในระบบ ข้อมูลจำเพาะ เมื่อได้รับระบบติดตามให้ส่งคืนรายการกรอบเวลา[t_1, t_2, ..., t_n]ที่รถเข็นคันนั้นiเริ่มต้นในเวลาt_iเช่นไม่มีข้อตกลงอื่นใดที่อนุญาตให้รถเข็นเดินทางไปยังจุดหมายปลายทางได้อย่างปลอดภัยด้วยเวลารวมน้อยกว่า ในแง่ของ "ปลอดภัย" ถ้าในกรอบเวลาใด ๆ จากt_1ถึงt_Tมีรถเข็นมากกว่าหนึ่งคันบนฉลากใด ๆ พวกเขาก็ชนกันและการจัดเรียงนั้นไม่ "ปลอดภัย" โปรดทราบว่ารถเข็นสองคันสามารถเลื่อนจากa, bไปb, aยังและยังคง …

2
ใช้คิวบ์แบบลูกบาศก์
Cubicallyเป็นภาษาลึกลับที่ค่อนข้างใหม่ที่สามารถสร้างคำตอบสั้น ๆ เหมือนกอล์ฟสำหรับชุดย่อยที่เฉพาะเจาะจงของปัญหา มันมีความพิเศษในการเก็บหน่วยความจำในรูปแบบของลูกบาศก์รูบิค 3x3 ทำให้การคำนวณน้อยกว่าในภาษาส่วนใหญ่ ในเชิงลูกบาศก์โปรแกรมเมอร์ต้องหมุนคิวบ์ภายในเพื่อจัดการค่าที่เก็บไว้บนใบหน้าจากนั้นใช้ค่าเหล่านั้นในการคำนวณ การคำนวณจะดำเนินการกับจำนวนเต็ม 32- บิตเดียวที่เก็บอยู่บนใบหน้าจินตภาพที่เรียกว่า "notepad" นอกจากนี้ Cubically สามารถร้องขออินพุตผู้ใช้และเก็บไว้ในบัฟเฟอร์อินพุตซึ่งประกอบด้วยค่าจำนวนเต็มเดียวเท่านั้น Cube ใบหน้าของคิวบ์คือU p, Dเอง, L eft, R ight, F ront, และB ack: UUU UUU UUU LLLFFFRRRBBB LLLFFFRRRBBB LLLFFFRRRBBB DDD DDD DDD เมื่อโปรแกรมเริ่มต้นคิวบ์จะถูกเตรียมใช้งานเพื่อให้แต่ละสแควร์บนใบหน้านั้นมีค่าเท่ากับดัชนีที่ใช้ 0 ของใบหน้า: 000 000 000 111222333444 111222333444 111222333444 555 555 555 เมื่อใดก็ตามที่ใบหน้าถูกหมุนมันจะหมุนตามเข็มนาฬิกาเสมอ: Cubically> F1 …

2
คำนวณ OEIS A005434
ภารกิจคือการคำนวณOEIS A005434โดยเร็วที่สุด พิจารณาสตริงไบนารีของความยาวS nจัดทำดัชนีจาก1เราสามารถตรวจสอบว่าS[1..i+1]ตรงกับS[n-i..n]ตรงทั้งหมดiในการสั่งซื้อจากไป0 n-1ตัวอย่างเช่น, S = 01010 จะช่วยให้ [Y, N, Y, N, Y]. เพราะนี่คือ0การแข่งขัน0, 01ไม่ตรง10, 010การแข่งขัน010, 0101ไม่ตรงกับ1010 และในที่สุดก็01010ตรงกับตัวเอง กำหนดf(n)ให้เป็นหมายเลขของอาร์เรย์ที่แตกต่างกันของYและNs หนึ่งได้รับเมื่อ iterating เหนือทุก2^nบิตสตริงที่แตกต่างกันไปได้ของความยาวSn สังเกตจะสังเกตเห็นคำถามนี้เป็นตัวแปรที่เรียบง่ายของคำถามที่ผ่านมาของฉันอีก อย่างไรก็ตามฉันคาดหวังว่าเทคนิคที่ฉลาดสามารถทำให้สิ่งนี้เร็วและง่ายขึ้น งาน สำหรับการเพิ่มการnเริ่มต้นที่รหัสของคุณควรเอาท์พุท1n, f(n) ตัวอย่างคำตอบ สำหรับn = 1..24คำตอบที่ถูกต้องคือ: 1, 2, 3, 4, 6, 8, 10, 13, 17, 21, 27, 30, 37, 47, 57, 62, 75, 87, …

6
ตัวเลขที่เป็น palindromes ใน N base
ได้รับจำนวนเต็มไม่เป็นลบn >= 0ออกไปตลอดกาลลำดับเลขx_i >= 3ที่มี palindromes ในตรงnฐานที่แตกต่างกันที่ฐานที่สามารถb2 <= b <= x_i-2 นี้เป็นพื้นผกผันของOEIS A126071nที่คุณส่งออกที่ดัชนีอยู่ในลำดับที่มีค่า มันแตกต่างกันเล็กน้อยเพราะฉันเปลี่ยนดังนั้นคุณจึงไม่สนใจเบสb = x_i-1, x_i, x_i+1เนื่องจากผลลัพธ์สำหรับเบสเหล่านั้นมักจะเหมือนเดิมเสมอ นอกจากนี้การชดเชยจะแตกต่างกัน x_iจะมีการ จำกัด จำนวน>= 3เพื่อให้ระยะแรกของผลสำหรับแต่ละnคือA037183 โปรดทราบว่ารูปแบบผลลัพธ์มีความยืดหยุ่น แต่ตัวเลขควรคั่นด้วยวิธีที่ดี ตัวอย่าง: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

1
แบ่งอาร์เรย์และโปรแกรมในครึ่ง
บทนำ คุณได้รับมอบหมายให้เขียนโปรแกรมที่แบ่งอาร์เรย์จำนวนเต็มสี่เหลี่ยมเท่า ๆ กันครึ่งหนึ่ง (ไม่ว่าด้วยเหตุผลใดก็ตาม) งานนี้มีการคำนวณอย่างเข้มข้น แต่โชคดีที่คุณมีเครื่องดูอัลคอร์เพื่อทำการคำนวณ เพื่อให้ได้ประโยชน์สูงสุดจากการขนานคุณตัดสินใจที่จะแบ่งโปรแกรมเท่า ๆ กันครึ่งหนึ่งแล้วปล่อยให้แต่ละคอร์รันส่วนใดส่วนหนึ่งโดยไม่ขึ้นต่อกัน อินพุตและเอาต์พุต ข้อมูลของคุณเป็นอาร์เรย์ 2 มิติรูปสี่เหลี่ยมผืนผ้าของจำนวนเต็มที่ไม่ใช่ค่าลบอย่างน้อย1 × 1ซึ่งถ่ายในรูปแบบที่เหมาะสม การแบ่งอาเรย์ดังกล่าวทำได้โดยการแบ่งแต่ละแถวในแนวนอนเป็นส่วนนำหน้าและคำต่อท้าย (ซึ่งอาจว่างเปล่า) เพื่อให้การแยกถูกต้องสองแถวที่อยู่ติดกันจะต้องถูกแยกที่ดัชนีเดียวกันหรือดัชนีที่อยู่ติดกัน ตัวอย่างเช่นพิจารณาอาร์เรย์ 2 4 5 5 6 3 9 7 1 7 7 0 0 0 3 6 7 8 1 2 4 7 6 1 6 6 8 2 0 0 …

4
บล็อกขวางค่าใช้จ่ายขั้นต่ำ
พิจารณาเมทริกซ์บล็อกแนวขวางแบบไบบล็อกซึ่งมีบล็อกสี่เหลี่ยมจัตุรัส 1s บนเส้นทแยงมุมหลักและเป็น 0 ทุกที่ ลองเรียกเมทริกซ์นั้นว่า "ถูกต้อง" ตัวอย่างเช่นต่อไปนี้เป็นเมทริกซ์ 4x4 ที่ถูกต้อง: 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 …

25
คำนวณความเร็วสัมพัทธภาพ
ในทฤษฎีสัมพัทธภาพพิเศษความเร็วของวัตถุเคลื่อนที่ที่สัมพันธ์กับวัตถุอื่นที่เคลื่อนที่ในทิศทางตรงกันข้ามนั้นได้รับจากสูตร: s= v + u1 + v u / c2.s=โวลต์+ยู1+โวลต์ยู/ค2.\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) ในสูตรนี้โวลต์โวลต์vและยูยูuคือขนาดของความเร็วของวัตถุและคคcคือความเร็วของแสง (ซึ่งประมาณ3.0 × 108m / s3.0×108ม./s3.0 \times 10^8 \,\mathrm m/\mathrm sใกล้พอสำหรับความท้าทายนี้ประมาณ) ตัวอย่างเช่นถ้าวัตถุหนึ่งถูกย้ายที่v = 50,000 m/sและวัตถุอื่นกำลังจะย้ายไปที่u = 60,000 m/sความเร็วของวัตถุแต่ละเทียบกับคนอื่น ๆ s …

30
กลุ่มของรายการที่เกิดซ้ำ
คำอธิบายการท้าทาย ให้ลิสต์ / อาร์เรย์ของไอเท็มแสดงกลุ่มรายการที่เกิดซ้ำตามลำดับทั้งหมด คำอธิบายอินพุต / เอาต์พุต ข้อมูลที่คุณป้อนเป็นรายการ / อาเรย์ของรายการ (คุณสามารถถือว่าทั้งหมดเป็นประเภทเดียวกัน) คุณไม่จำเป็นต้องสนับสนุนภาษาทุกประเภทของคุณ แต่จะต้องสนับสนุนอย่างน้อยหนึ่งภาษา (โดยเฉพาะอย่างยิ่งintแต่ประเภทที่ต้องการbooleanแม้ว่าจะไม่น่าสนใจก็ยังใช้ได้เช่นกัน) ตัวอย่างผลลัพธ์: [4, 4, 2, 2, 9, 9] -> [[4, 4], [2, 2], [9, 9]] [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4] -> [[1, 1, 1], [2, 2], [3, 3, 3], [4, …

2
แบ่งพาร์ติชั่นรายการ!
ในความท้าทายนี้คุณจะต้องแบ่งพาร์ติชันรายการโดยที่พาร์ติชั่นมีขนาดสูงสุดขนาดขั้นต่ำและขนาดที่ต้องการ ฉันจะใช้สัญลักษณ์(min,pref,max) เพื่อระบุขนาดในการท้าทายนี้ สำหรับผู้ที่ไม่คุ้นเคยกับการแบ่งพาร์ติชันรายการต่อไปนี้ได้รับการแบ่งพาร์ติชันออกเป็น 3 ส่วน: [0..9] -> [[0,1,2],[3,4,5],[6,7,8]] [0..10], (2,4,5) -> [[0,1,2,3],[4,5,6],[7,8,9]]เมื่อรายการที่ไม่เท่ากันหารคุณต้องพาร์ทิชันที่จะใกล้เคียงกับขนาดที่ต้องการเป็นไปได้: การแบ่งพาร์ติชั่นนี้ทำได้ดีกว่า[[0,1,2,3],[4,5,6,7],[8,9]]แม้ว่าจะมีความยาวที่ต้องการมากกว่าก็ตาม อย่างเป็นทางการเราต้องลดผลรวมของ(partitionLength-preferredSize)^2แต่ละพาร์ติชันให้น้อยที่สุด ลำดับของความยาวพาร์ติชั่นไม่สำคัญ: สำหรับไม่ว่า[0..5], (2,3,3)จะเป็น[[0,1,2],[3,4]]หรือใช้[[0,1],[2,3,4]]งานได้ [0..7], (4,4,5) -> []ถ้าพาร์ติชันไม่มีความเป็นไปได้กลับอาร์เรย์ที่ว่างเปล่า คุณสามารถสันนิษฐานได้ว่า1<=min<=pref<=maxและอาร์เรย์ที่ส่งถึงคุณนั้นเป็นอาร์เรย์จำนวนเต็มที่ไม่ว่างเปล่า อาร์เรย์จะเป็นอาร์กิวเมนต์แรกเสมอ คุณสามารถยอมรับ min, max, และ pref ในลำดับใดก็ได้และเป็น tuple หรือเป็นอาร์กิวเมนต์ที่แยกกัน โปรแกรมของคุณต้องทำงานภายในไม่กี่วินาที โดยทั่วไปไม่อนุญาตให้วนซ้ำทุกขนาดพาร์ติชันที่เป็นไปได้ภายในขอบเขต กรณีทดสอบ: [1], (1,3,4) -> [[1]] [100], (1,2,3) -> [[100]] [1,2], (1,1,2) -> [[1],[2]] [1,2], (1,2,2) -> …

5
พิมพ์อาร์เรย์จากกึ่งกลาง
นี่คือคำถามที่รหัสกอล์ฟ รับจำนวนเต็ม s และ n งานคือการส่งออกอาร์เรย์ทั้งหมดของความยาว n ซึ่งรับค่าจาก -s ถึง s บิดเท่านั้นคือคุณต้องส่งออกตามลำดับต่อไปนี้ อาร์เรย์ศูนย์ทั้งหมดของความยาว n อาร์เรย์ที่มีความยาว n ทั้งหมดที่มีองค์ประกอบตั้งแต่ -1 ถึง 1 ไม่รวมอาร์เรย์ใด ๆ ที่คุณเคยแสดงผลมาก่อน อาร์เรย์ที่มีความยาวทั้งหมด n พร้อมองค์ประกอบตั้งแต่ -2 ถึง 2 ไม่รวมอาร์เรย์ใด ๆ ที่คุณได้แสดงผลมาก่อน และต่อไปจนกว่าคุณจะไปยังอาร์เรย์ที่มีความยาว n ทั้งหมดด้วยองค์ประกอบตั้งแต่ -s ถึง s โดยไม่รวมถึงอาร์เรย์ใด ๆ ที่คุณได้แสดงผลมาก่อน คุณควรส่งออกหนึ่งอาร์เรย์ต่อบรรทัด สามารถเว้นวรรคหรือคั่นด้วยเครื่องหมายจุลภาค นี่คือบางส่วนของรหัสหลามที่ไม่ปฏิบัติตามที่ส่งออกอาร์เรย์ / รายการ / สิ่งอันดับในลำดับที่ถูกต้อง import itertools …

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