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

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

27
แจกแจงอาร์เรย์จัดกลุ่มรายการที่ซ้ำกัน
วัตถุประสงค์ของความท้าทายนี้คือการหาอาร์เรย์ของจำนวนเต็มบวกและแจกแจงดัชนีจัดกลุ่มองค์ประกอบต่างๆ การแจงนับโดยไม่มีการทำซ้ำใด ๆ ทำได้โดยเพียงแค่ส่งออกอาร์เรย์ของคู่(value, index)ตัวอย่างเช่น[3, 4, 13, 9, 2]=>[[3,1],[4,2],[13,3],[9,4],[2,5]] => อย่างไรก็ตามหากองค์ประกอบที่กำหนดปรากฏขึ้นเป็นครั้งที่สองก็จะไม่ได้รับคู่ของมันเอง แต่จะถูกเพิ่มเข้าไปในกลุ่มที่เกิดขึ้นครั้งแรก หากในตัวอย่างข้างต้นเราแทนที่ 9 ด้วย 3 จากนั้นในผลลัพธ์ที่เราจะลบ[9,4]และแทนที่[3,1]ด้วย[3,1,4]ด้วย ในผลลัพธ์กลุ่มจะต้องเรียงลำดับตามการเกิดขึ้นครั้งแรกและดัชนีจะต้องเรียงลำดับจากน้อยไปหามาก องค์ประกอบจะต้องเป็นอันดับแรกในกลุ่มก่อนที่ดัชนี ผลลัพธ์อาจเป็นดัชนี 0 หรือ 1 คุณอาจถือว่าอาร์เรย์มีองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบ กรณีทดสอบ: Input | Output (One-indexed) [3, 2, 2, 3] | [[3, 1, 4], [2, 2, 3]] [17] | [[17, 1]] [1, 1] | [[1, 1, 2]] …

20
ผลรวมการเคลื่อนที่แบบวงกลม
แรงบันดาลใจจากคำถามที่กองมากเกิน กำหนดอาร์เรย์ที่ไม่ว่างเปล่าของจำนวนเต็มxและเป็นจำนวนเต็มบวกn, คำนวณผลรวมของแต่ละบล็อกเลื่อนความยาวnพร้อมอาร์เรย์x, circularlyกรอกค่าที่ขาดหายไปทางด้านซ้ายที่มีค่าจากขวาดังนี้ บล็อกแรกมีรายการแรกของxนำหน้าด้วยn-1รายการที่เปลี่ยนเป็นวงกลม บล็อกที่สองมีรายการแรกและรายการที่สองของxนำหน้าด้วยn-2รายการที่เปลี่ยนเป็นวงกลม และอื่น ๆ อาร์เรย์เอาต์พุตyมีขนาดเท่าxกันกับ มันเป็นไปได้สำหรับnที่จะเกินความยาวของxแล้วค่าของxกำลัง circularly นำกลับมาใช้หลายครั้ง ตัวอย่าง ตัวอย่างที่ 1 (ค่าจะถูกนำมาใช้ซ้ำเพียงครั้งเดียว) x = [2, 4, -3, 0, -4] n = 3 ให้เป็นเอาท์พุท y = [-2, 2, 3, 1, -7] ที่ไหน -2คือผลรวมของบล็อก[0, -4, 2](สองค่าแรกมาจากการเลื่อนแบบวงกลม) 2คือผลรวมของ[-4, 2, 4](ค่าแรกมาจากการเลื่อนแบบวงกลม) 3คือผลรวมของ[2, 4, -3](ไม่จำเป็นต้องเปลี่ยนแบบวงกลมอีกต่อไป) 1 คือผลรวมของ [4, -3, 0] -7[-3, …

13
สร้างรายการที่สอดคล้องกันด้วยผลรวมที่เล็กที่สุด
สองรายการAและBจะสอดคล้องกันว่าพวกเขามีความยาวเดียวกันและองค์ประกอบที่เท่าเทียมกันในการเปรียบเทียบในเท่ากับเปรียบเทียบAB กล่าวอีกนัยหนึ่งกำหนดดัชนีที่ถูกต้องสองอันxและy: หากแล้วA[x] = A[y]B[x] = B[y] หากแล้วA[x] != A[y]B[x] != B[y] ตัวอย่างเช่นรายการ[1, 2, 1, 4, 5]และ[0, 1, 0, 2, 3]สอดคล้องกัน งาน กำหนดรายการว่างของค่าลบจำนวนเต็มAกลับรายการใหม่ของค่าลบจำนวนเต็มBเช่นว่าจะสอดคล้องกันในขณะที่ลดผลรวมของจำนวนเต็มในAB มีเอาต์พุตที่ใช้ได้ที่อาจเป็นไปได้จำนวนมาก ตัวอย่างเช่นในรายการ[12, 700, 3]การเปลี่ยนแปลงใด ๆ[0, 1, 2]จะถือว่าเป็นผลลัพธ์ที่ถูกต้อง กรณีทดสอบ Format: input -> one possible valid output [1 2 1 4 5] -> [0 1 0 2 3] (this …

27
ใช้คลื่นกับอาร์เรย์
งานของคุณในวันนี้คือการใช้คลื่นกับอาร์เรย์ของตัวเลข คลื่นมีลักษณะดังนี้: [1, 0, -1, 0, 1, 0, -1, 0, 1...]การนำไปใช้กับอาร์เรย์ที่กำหนดหมายถึงการรวมองค์ประกอบแรกเข้าด้วยกันองค์ประกอบที่สอง ฯลฯ อย่างแม่นยำมากขึ้น: โปรแกรมหรือฟังก์ชั่นของคุณจะได้รับอาร์เรย์จำนวนเต็ม มันจะต้องพิมพ์หรือส่งกลับอาร์เรย์ที่มีขนาดเท่ากันพร้อมกับ1เพิ่มองค์ประกอบที่ 1, 5, 9, ฯลฯ ของอาร์เรย์เดิม-1เพิ่มไปยังองค์ประกอบที่ 3, 7, 11, ฯลฯ ของอาร์เรย์ต้นฉบับและองค์ประกอบที่เหลือ ควรปล่อยทิ้งไว้โดยไม่มีใครแตะต้อง อาร์เรย์อินพุตรับประกันว่ามีอย่างน้อยหนึ่งองค์ประกอบ กรณีทดสอบ: Input | Output [0] | [1] [-1] | [0] [-4, 3, 0, 1, 7, 9, 8, -2, 11, -88] | [-3, 3, …

30
พับครึ่งรายการ
เรากำลังจะพับลิสต์ของจำนวนเต็ม ขั้นตอนที่ต้องทำมีดังต่อไปนี้หากรายการมีความยาวเท่ากันให้ทำรายการครึ่งหนึ่งของความยาวโดยที่รายการที่ n ของรายการใหม่คือผลรวมของรายการที่ n ของรายการเก่าและ nth-to- รายการสุดท้ายของรายการเก่า ตัวอย่างเช่นถ้าเรามีรายการ [1 2 3 4 5 6 7 8] เราจะพับมันอย่างนั้น [8 7 6 5] +[1 2 3 4] __________ [9 9 9 9] หากรายการมีความยาวคี่ในการพับเราจะลบรายการกลางก่อนพับมันราวกับว่ามันเป็นคู่และผนวกรายการกลางเพื่อผล ตัวอย่างเช่นถ้าเรามีรายการ [1 2 3 4 5 6 7] เราจะพับมันอย่างนั้น [7 6 5] +[1 2 3] __________ [8 8 …

7
ค้นหา binarray!
เรากำหนดbinarrayเป็นอาร์เรย์ที่ตอบสนองคุณสมบัติดังต่อไปนี้: มันไม่ว่างเปล่า ค่าแรกคือ 1 ค่าสุดท้ายคือ 1 ค่าอื่น ๆ ทั้งหมดเป็นอย่างใดอย่างหนึ่ง0หรือ1 ตัวอย่างเช่นอาร์เรย์[ 1, 1, 0, 1 ]เป็นbinarray ที่ถูกต้อง binarray งาน ด้วยอาร์เรย์ที่ไม่ว่างAของจำนวนเต็มไม่เป็นลบและเลขจำนวนเต็มบวกNงานของคุณคือค้นหาbinarray B ที่มีความยาวNซึ่งอนุญาตให้สร้างAโดยการรวมจำนวนสำเนาBที่ไม่ จำกัด ซึ่งถูกย้ายโดยจำนวนที่ไม่ จำกัด ตำแหน่ง ตัวอย่าง A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ] N = 4 สำหรับอินพุตนี้binarray B …

12
Power Fibonacci Sequence สำรอง
คำนิยาม ลำดับ Fibonacci Power Alternating จะเกิดขึ้นดังนี้ เริ่มต้นด้วยลำดับที่ว่างเปล่าและชุดnไป1 Compute ฉnที่n THไม่ใช่เชิงลบจำนวนฟีโบนักชีกับการเกิดซ้ำ 0คืออันแรก1คืออันที่สองและที่สาม2คือที่สี่ อื่น ๆ ทั้งหมดได้มาจากการรวมตัวเลขสองตัวก่อนหน้านี้ในลำดับดังนั้น3 = 1 + 2คือห้า, 5 = 2 + 3คือหก, เป็นต้น ถ้าnเป็นเลขคี่เปลี่ยนสัญลักษณ์ของฉ n ผนวก2 n-1สำเนาของf nตามลำดับ เพิ่มค่าnแล้วย้อนกลับไปยังขั้นตอนที่ 2 เหล่านี้เป็นหนึ่งร้อยคำแรกของลำดับ APF 0 1 1 -1 -1 -1 -1 2 2 2 2 2 2 2 2 -3 -3 …

12
การรวมกันเป็นแถว
บทนำ พิจารณาสองอาร์เรย์ของความยาวเดียวกันพูดและA = [0,1,0,2] B = [-1,1,2,2]สมมติว่าเรารู้ว่าเนื้อหาของพวกเขาเท่าเทียมกันในแต่ละแง่มุมรายการต่อรายการ: 0เทียบเท่ากับ-1, 1เทียบเท่ากับ1, 0เทียบเท่ากับ2และ 22เทียบเท่ากับ ความเท่าเทียมกันคือสกรรมกริยา: -1และ0เทียบเท่าและ0และ2เทียบเท่าดังนั้น-1และ2ยังเทียบเท่า การรวมกันของAและBเป็นอาร์เรย์ที่แต่ละรายการของA(หรือB) ถูกแทนที่ด้วยจำนวนมากที่สุดที่เทียบเท่ากับมัน [2,1,2,2]ในกรณีนี้รวมกันจะเป็น งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้อาร์เรย์จำนวนเต็มสองตัวที่มีความยาวไม่เท่ากันที่มีความยาวเท่ากัน คุณยังสามารถแก้ไขหนึ่งในอินพุตแทนการส่งคืน จำนวนไบต์ต่ำสุดชนะ กรณีทดสอบ [0] [0] -> [0] [1] [2] -> [2] [0,-1] [-1,-1] -> [0,0] [0,1,0] [2,1,0] -> [2,1,2] [1,2,3] [0,0,1] -> [3,3,3] [0,1,0,2] [-1,1,2,2] -> [2,1,2,2] [1,0,1,-4] [-3,-1,-2,2] -> [1,0,1,2] [1,2,3,-2] …

9
พิมพ์สี่เหลี่ยมที่แข็งแรงทั้งหมด 3 คูณ 3
ตารางที่มีความทนทาน (คล้ายกับตารางมายากล ) คือการจัดเรียงของจำนวนเต็ม 1 ถึง N 2บนกริด N โดย N ดังนั้นทุก 2 โดย 2 subgrid จะมีผลรวมเท่ากัน ตัวอย่างเช่นสำหรับ N = 3 หนึ่งตารางที่มีความทนทานคือ 1 5 3 9 8 7 4 2 6 เพราะทั้งสองรุ่นย่อย 4 คูณ 2 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

30
องค์ประกอบที่ไม่ซ้ำ
เขียนโปรแกรมที่ค้นหาองค์ประกอบที่ไม่ซ้ำกันของอาร์เรย์ของจำนวนเต็มที่ลงนามแล้ว อาร์เรย์ที่เป็นผลลัพธ์สามารถอยู่ในลำดับใดก็ได้ คำตอบของคุณอาจเป็นข้อมูลโค้ดที่สมมติว่าอินพุตถูกเก็บไว้ในตัวแปร ( d, พูด) และประเมินผลลัพธ์ที่ถูกต้อง กรณีทดสอบ input => outputกรณีทดสอบแต่ละคนเป็นบรรทัดเดียวในรูปแบบ โปรดสังเกตว่าการเรียงสับเปลี่ยนอื่นของเอาต์พุตนั้นใช้ได้เช่นกัน [] => [] [-1, 0, 1] => [] [1, 1] => [1] [3, 0, 0, 1, 1, 0, 5, 3] => [3, 0, 1] [-34, 0, 1, -34, 4, 8, 4] => [-34, 4] ลำดับขององค์ประกอบไม่สำคัญ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ

30
การสร้างสตริงเดียวด้วยคอมม่า Oxford จากรายการ
อะไรคือแนวทางที่ฉลาด (สั้นและเป็นสำนวน) ในการจดรายการสตริงและส่งคืนสตริงที่คั่นด้วยเครื่องหมายอย่างเดียวที่ถูกสร้างขึ้นจากรายการโดยแต่ละองค์ประกอบมีการอ้างอิง สิ่งนี้เกิดขึ้นกับฉันในขณะที่กำลังทดลองกับ Groovyซึ่งเป็นวิธีแก้ปัญหาที่แท้จริงของฉัน def temp = things.collect({"\'${it}\'"}) switch (things.size()) { case 1: result = temp[0] break case 2: result = temp.join(" and ") break default: result = temp.take(temp.size()-1).join(", ") + ", and " + temp[-1] break } นั่นคือการ['1']ควรผลผลิต'1', ['1','2']ควรผลผลิต'1 and 2'[ดูสิ่งที่ฉันได้มี?] และควรผลผลิต['1','2','3']'1, 2, and 3' ฉันมีคำตอบที่ดีสำหรับ Groovy แต่ฉันต้องการดูว่าภาษาอื่นสามารถทำอะไรได้บ้าง …

21
รายการนี้สามารถสมดุล
เพื่อตรวจสอบว่ารายชื่อของจำนวนเต็มไม่เป็นลบจะมีความสมดุลหนึ่งสามารถจินตนาการการวางน้ำหนักที่เกี่ยวข้องบนกระดานแล้วพยายามที่จะรักษาความสมดุลของคณะกรรมการในการหมุนดังกล่าวที่สรุปญาติน้ำหนักซ้ายและขวาของเดือยจะเหมือนกัน น้ำหนักสัมพัทธ์จะได้รับจากการคูณน้ำหนักด้วยระยะทางไปยังเดือย (ดูกฎของคันโยก ) (ที่มา: วิกิพีเดีย ) [100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]ภาพนี้สอดคล้องกับรายการ รายการนี้จะมีความสมดุลเพราะ5จะมีระยะทาง 20 ถึงเดือยที่100ระยะทางที่ 1 5*20 = 100 = 100*1และ ตัวอย่าง 3 1 5 7 ######### ^ ในกรณีนี้เดือยอยู่ภายใต้ a 5, 3มีระยะทาง 2 …

20
ผลรวมสรุปสูงสุดกับรายการที่ไม่ติดกัน
บทนำ: แรงบันดาลใจจากทั้งสองคำถาม SO (ข้อสงสัยจากชั้นเรียนเดียวกันไม่): พิมพ์องค์ประกอบใน subarray ของจำนวนเงินสูงสุดโดยไม่องค์ประกอบที่อยู่ติดกันชวาและผลรวมสูงสุดขององค์ประกอบที่ไม่อยู่ติดกันของอาร์เรย์ที่จะพิมพ์ ท้าทาย: รับรายการจำนวนเต็มเอาต์พุตอนุกรมที่ประกอบด้วยองค์ประกอบที่ไม่อยู่ติดกันซึ่งมีผลรวมสูงสุด นี่คือตัวอย่าง: [1,2,3,-1,-3,2,5]จะส่งผลให้[1,3,5](กับผลรวมของ9) [0,2,6]ที่ดัชนี [4,5,4,3]จะส่งผลอย่างใดอย่างหนึ่ง[4,4](ที่มีผลรวมของ8) ที่ดัชนี 0-based [0,2]หรือ[5,3](ยังมีผลรวมของ8) [1,3]ที่ดัชนี [5,5,10,100,10,5]จะส่งผลให้[5,100,5](ที่มีผลรวมของ110) ที่ทั้งดัชนี 0-based หรือ[0,3,5][1,3,5] สิ่งที่สำคัญที่สุดเกี่ยวกับตัวอย่างเหล่านี้ข้างต้นดัชนีที่มีองค์ประกอบอย่างน้อย 2 แยกจากกัน ถ้าเราดูตัวอย่าง[5,5,10,100,10,5]ในเชิงลึกมากขึ้น: เรามีการเรียงลำดับที่มีศักยภาพต่อไปนี้ที่มีรายการที่ไม่ติดกัน พร้อมดัชนีด้านล่าง ด้วยผลรวมของพวกเขาด้านล่างว่า: [[5],[10],[100],[10],[5],[5],[100,5],[10,5],[10,10],[5,5],[5,10],[5,100],[5,5],[5,10],[5,100],[5,10],[5,100,5],[5,100,5],[5,10,5],[5,10,10]] // non-adjacent subsequences [[5],[ 4],[ 3],[ 2],[1],[0],[ 3,5],[ 2,5],[ 2, 4],[1,5],[1, 4],[1, 3],[0,5],[0, 4],[0, 3],[0, 2],[1, 3,5],[0, 3,5],[0, 2,5],[0, 2, 4]] …

10
สั้นที่สุดระบุสารตั้งต้น
รับรายการสตริงแทนที่แต่ละสตริงด้วยหนึ่งในสตริงย่อยที่ไม่ว่างซึ่งไม่ใช่สตริงย่อยของสตริงอื่นใดในรายการและสั้นที่สุดเท่าที่จะทำได้ ตัวอย่าง ได้รับรายการ["hello","hallo","hola"], "hello"ควรจะถูกแทนที่โดยเพียงแค่"e"เป็น substring นี้ไม่ได้มีอยู่ใน"hallo"และ"hola"และมันก็เป็นที่สั้นที่สุด "hallo"จะถูกแทนที่ด้วยอย่างใดอย่างหนึ่ง"ha"หรือ"al"และ"hola"โดยใด ๆ ของ"ho", หรือ"ol""la" กฎระเบียบ คุณสามารถสันนิษฐานได้ว่าสตริงนั้นจะต้องไม่ว่างเปล่าและมีอักขระที่เป็นตัวอักษรของเคสเดียวกันเท่านั้น คุณสามารถสันนิษฐานได้ว่ามีสตริงย่อยดังกล่าวอยู่ในแต่ละสตริงในรายการนั่นคือไม่มีสตริงใดในรายการที่จะเป็นสตริงย่อยของสตริงอื่น ๆ อินพุตและเอาต์พุตสามารถอยู่ในรูปแบบที่เหมาะสม นี่คือโค้ดกอล์ฟดังนั้นพยายามใช้ให้น้อยที่สุดในภาษาที่คุณเลือก กรณีทดสอบ มีเพียงหนึ่งเอาต์พุตที่เป็นไปได้สำหรับกรณีส่วนใหญ่ ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] เกี่ยวข้อง: สตริงย่อยที่ระบุสั้นที่สุด - แนวคิดที่คล้ายกัน แต่มีกฎที่เกี่ยวข้องมากกว่าและรูปแบบที่ยุ่งยาก
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

15
การกลับรายการแบบหลายมิติ
รับอาร์เรย์ N-Dim orthogonal (ไม่มอมแมม) ของจำนวนเต็มไม่เป็นลบและบ่งชี้ว่ามิติใดที่จะย้อนกลับส่งคืนอาร์เรย์ แต่กลับตามมิติเหล่านั้น การบ่งชี้อาจถูกกำหนดเป็นรายการบูลีนที่มีความยาว N หรือรายการของเซ็ตย่อยของมิติ N แรกที่จัดทำดัชนีจาก 0 หรือ 1 โปรดระบุรูปแบบการป้อนข้อมูลของคุณ คำอธิบายรหัสชื่นชมมาก ตัวอย่างแบบ walk-through เราได้รับอาร์เรย์ 3 มิติ 4 แถว 4 แถวแบบ 3 มิติ [[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9,10,11,12]], [[13,14,15,16], [17,18,19,20], [21,22,23,24]]] และหนึ่งในนั้น [true,false,true](รายการบูลีน) [0,2](รายการที่จัดทำดัชนี 0) [1,3](รายการที่จัดทำดัชนี 1 รายการ) เราจำเป็นต้องเรียงลำดับของส่วนข้อมูลแรกและส่วนสุดท้ายนั่นคือเลเยอร์และองค์ประกอบของแถว …

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