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

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

30
Array of Challenges # 1: Alternay Array
อาร์เรย์สำรอง อาร์เรย์สลับเป็นรายการยาว ๆ ในการที่สอง (ไม่จำเป็นต้องแตกต่างกัน) มีค่าสลับ กล่าวคือทุกรายการที่มีการทำดัชนีเท่ากันและรายการที่มีการทำดัชนีทั้งหมดจะเท่ากัน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งเมื่อได้รับรายการจำนวนเต็มบวกผลลัพธ์ / ผลตอบแทนtruthyถ้ามันสลับกันและfalsyอื่น ๆ นี่คือโค้ดกอล์ฟดังนั้นรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ! กรณีขอบ: [] -> True [1] -> True [1,1] -> True [1,2,1] -> True กรณีทดสอบอื่น ๆ : [1,2,1,2] -> True [3,4,3] -> True [10,5,10,5,10] -> True [10,11] -> True [9,9,9,9,9] -> True [5,4,3,5,4,3] -> False [3,2,1,2,1,2] -> …

30
Goodness Giza Golf!
"หมายเลข Giza" หรือที่รู้จักกันเรียกขานว่าTimmy Numberคือหมายเลขใด ๆ ที่ตัวเลขแสดงถึงปิรามิด ( A134810 ) ตัวอย่างเช่น "12321" เป็นหมายเลข giza เพราะสามารถมองเห็นเป็นดังนี้: 3 2 2 1 1 อย่างไรก็ตามบางอย่างเช่น "123321" ไม่ใช่หมายเลขกิซ่าเพราะมีสองหลักที่ด้านบนของปิรามิด 33 2 2 1 1 กล่าวอีกนัยหนึ่งตัวเลขคือหมายเลข Giza หากตรงตามเงื่อนไขต่อไปนี้ทั้งหมด: มีเลขคี่เป็นเลขหลักสำคัญและเลขกลางนั้นใหญ่ที่สุด มันเป็น Palindromic (อ่านไปข้างหน้าหรือข้างหลังเดียวกัน) และ ในช่วงครึ่งแรกของตัวเลขจะเพิ่มขึ้นอย่างเข้มงวดโดยหนึ่ง (เนื่องจากต้องเป็น palindromic นี่หมายความว่าครึ่งหลังของตัวเลขจะต้องลดลงอย่างเข้มงวดโดยหนึ่ง) คุณต้องเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวกเป็นอินพุตและตรวจสอบว่าเป็นหมายเลข Giza หรือไม่ คุณอาจรับอินพุตเป็นสตริงหรือเป็นตัวเลขก็ได้ หากเป็นหมายเลข Giza ให้ส่งออกค่าจริง มิฉะนั้นค่าเท็จ มีหมายเลขกิซ่าทั้งหมด 45 หมายเลขดังนั้นหนึ่งในอินพุตเหล่านี้ควรส่งผลให้เกิดค่าจริง: …

22
ลบทุก N-th N
งาน ในความท้าทายนี้การป้อนข้อมูลของคุณเป็นรายการจำนวนเต็มบวกที่ไม่ว่างเปล่าซึ่งกำหนดในรูปแบบดั้งเดิมของภาษาของคุณ ผลลัพธ์ของคุณคือรายการเดียวกันในรูปแบบเดียวกันโดยมีองค์ประกอบบางส่วนถูกลบออก คุณจะลบทุกเหตุการณ์ที่เกิดขึ้น1ทุกครั้งที่เกิดขึ้น2ทุกครั้งที่เกิดขึ้นที่สาม3และอื่น ๆ โดยทั่วไปสำหรับจำนวนเต็มบวกทุกตัวNคุณจะต้องลบทุก ๆNเหตุการณ์ที่เกิดขึ้นNจากรายการเริ่มต้นด้วยNเหตุการณ์ที่เกิดขึ้น ตัวอย่าง พิจารณารายการอินพุต [3,2,6,1,1,6,2,3,2,6,6,6,6,1,6,6,3,3,7,2] ก่อนอื่นเราจะลบสิ่งที่เกิดขึ้นทุกครั้ง1: [3,2,6, 6,2,3,2,6,6,6,6, 6,6,3,3,7,2] จากนั้นเกิดขึ้นทุก ๆ วินาทีของ2: [3,2,6, 6, 3,2,6,6,6,6, 6,6,3,3,7 ] จากนั้นเกิดขึ้นทุก ๆ สามของ3: [3,2,6, 6, 3,2,6,6,6,6, 6,6, 3,7 ] ตัวเลข4และ5ไม่เกิดขึ้นในอินพุตดังนั้นจึงสามารถข้ามได้ ต่อไปเราจะลบการเกิดขึ้นที่หกของ6: [3,2,6, 6, 3,2,6,6,6, 6,6, 3,7 ] มีเพียงเหตุการณ์เดียวเท่านั้น7ที่สามารถข้ามได้เช่นกัน ดังนั้นผลลัพธ์ที่ถูกต้องคือ [3,2,6,6,3,2,6,6,6,6,6,3,7] กฎและการให้คะแนน คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ [1] -> [] [2] …

30
โกงการทดสอบแบบปรนัย
บทนำ ในขณะที่เรียนฉันพยายามคิดหลายวิธีเพื่อโกงการทดสอบแบบเลือกตอบ มันเป็นรุ่นบีบอัดของคำตอบแบบปรนัย วิธีการดังต่อไปนี้: คำตอบสำหรับการทดสอบ: BCAABABA สิ่งเหล่านี้สามารถแปลงเป็น 3 อาร์เรย์ที่แตกต่างกันซึ่งบ่งชี้ว่าจริงหรือเท็จถ้าตัวอักษรปัจจุบันคือคำตอบ: B C A A B A B A A: [0, 0, 1, 1, 0, 1, 0, 1] B: [1, 0, 0, 0, 1, 0, 1, 0] C: [0, 1, 0, 0, 0, 0, 0, 0] การตีความตัวเลขเหล่านี้ในรูปแบบไบนารีจะบีบอัดข้อมูลจำนวนมาก แต่สิ่งนี้สามารถบีบอัดได้อีกเล็กน้อย หากคุณรู้ตำแหน่งของ A และ B …

30
ปกปิดเลขศูนย์ในรายการ
แรงบันดาลใจจากคำถาม SO นี้ ในฐานะที่เป็นอินพุทคุณจะได้รับรายการจำนวนเต็มที่ไม่ว่างเปล่าซึ่งค่าแรกจะรับประกันว่าไม่เป็นศูนย์ ในการสร้างผลลัพธ์ให้เดินจากจุดเริ่มต้นของรายการแล้วส่งออกแต่ละค่าที่ไม่เป็นศูนย์ไปพร้อมกัน เมื่อคุณพบค่าศูนย์ให้ทำซ้ำค่าที่คุณเพิ่งเพิ่มเข้าไปในเอาต์พุตแทน คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและให้อินพุต / เอาท์พุตมีรูปแบบที่สะดวกซึ่งไม่ได้เข้ารหัสข้อมูลเพิ่มเติมตราบใดที่ยังคงเป็นลำดับของจำนวนเต็ม หากการส่งออกจากโปรแกรมคุณอาจพิมพ์บรรทัดใหม่ต่อท้าย ยกเว้นบรรทัดใหม่ต่อท้ายนี้ผลลัพธ์ของคุณควรเป็นอินพุตที่ยอมรับได้สำหรับการส่งของคุณ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ [1, 0, 2, 0, 7, 7, 7, 0, 5, 0, 0, 0, 9] -> [1, 1, 2, 2, 7, 7, 7, 7, 5, 5, 5, 5, 9] [1, 0, 0, 0, 0, 0] -> [1, 1, 1, …

30
พิมพ์ตารางการคูณทางกายภาพ
รูปสี่เหลี่ยมมีคุณสมบัติที่ดี - รูปสี่เหลี่ยมผืนผ้าประกอบด้วยตัวอักษร !n × mn×mn \times mn × mn×mn \times m A. คุณสมบัติที่น่าสนใจคือสี่เหลี่ยมสามารถจัดเรียงอย่างดีในตารางสูตรคูณ - ตัวอย่างเช่นตาราง :3 × 33×33 \times 3 # ## ### # ## ### # ## ### # ## ### # ## ### # ## ### ความท้าทายของคุณคือกำหนดหมายเลข ( ) เอาท์พุทตารางการคูณที่จัดรูปแบบnnnn > 1n>1 n > 1n × nn×nn …

30
ลบเลขศูนย์โดยรอบของอาร์เรย์ 2d
นี้เป็นรุ่นที่ 2 มิติของคำถามนี้ รับอาร์เรย์ / เมทริกซ์ 2 มิติที่ไม่ว่างเปล่าที่มีจำนวนเต็มไม่ลบเท่านั้น: ⎡⎣⎢⎢⎢⎢⎢⎢0000000000000100101000110⎤⎦⎥⎥⎥⎥⎥⎥[0000000010000010011100000] \begin{bmatrix} {\color{Red}0} & {\color{Red}0} & {\color{Red}0} & {\color{Red}0} & {\color{Red}0} \\ {\color{Red}0} & {\color{Red}0} & 0 & 1 & 0 \\ {\color{Red}0} & {\color{Red}0} & 0 & 0 & 1 \\ {\color{Red}0} & {\color{Red}0} & 1 & 1 & 1 \\ …

30
ในการค้นหาของเนื้อคู่
กำหนดรายชื่อ จำกัด ว่างของจำนวนเต็ม, เอาท์พุทtruthyค่าถ้ามีตรงสองรายการที่เท่าเทียมกันและรายการอื่น ๆ ทั้งหมดที่มีความแตกต่างและfalseyคุ้มค่าเป็นอย่างอื่น ตัวอย่าง truthy: [1,1] [1,2,1] [1,6,3,4,4,7,9] falsey: [0] [1,1,1] [1,1,1,2] [1,1,2,2] [2,1,2,1,2] [1,2,3,4,5]

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

30
มีการกระแทกหรือไม่
รับรายการจำนวนเต็มบวกกำหนดว่ามีองค์ประกอบที่มากกว่าสองเพื่อนบ้านหรือน้อยกว่าสองเพื่อนบ้าน ("ชน") เพื่อให้ชัดเจนชนไม่สามารถเป็นรายการแรกหรือสุดท้ายของรายการเพราะพวกเขามีเพื่อนบ้านเพียงคนเดียว โปรแกรมของคุณควรส่งออกหนึ่งในสองค่าที่สอดคล้องกันแต่ละรายการที่สอดคล้องกับรายการที่ไม่มีการกระแทกหรือรายการที่มีการกระแทก คุณค่าที่ไม่สำคัญคุณสามารถเลือกได้เอง นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า กรณีทดสอบ [] -> False [1] -> False [1,2] -> False [1,2,1] -> True [1,2,2] -> False [1,2,3] -> False [1,2,2,1] -> False [1,2,2,3] -> False [1,2,1,2] -> True [1,3,2] -> True [3,1,2] -> True [2,2,2] -> False

30
ค้นหาองค์ประกอบที่ซ้ำกันครั้งแรก
รับอาร์เรย์ a ที่มีเฉพาะตัวเลขในช่วงจาก 1 ถึง a.length ให้ค้นหาหมายเลขที่ซ้ำกันครั้งแรกที่เกิดขึ้นครั้งที่สองมีดัชนีขั้นต่ำ กล่าวอีกนัยหนึ่งหากมีตัวเลขที่ซ้ำกันมากกว่า 1 หมายเลขให้ส่งคืนหมายเลขที่เหตุการณ์ที่สองมีดัชนีที่เล็กกว่าการเกิดครั้งที่สองของหมายเลขอื่น หากไม่มีองค์ประกอบดังกล่าวโปรแกรม / ฟังก์ชั่นของคุณอาจส่งผลให้เกิดพฤติกรรมที่ไม่ได้กำหนด ตัวอย่าง: สำหรับการส่งออกที่ควรจะเป็นa = [2, 3, 3, 1, 5, 2] firstDuplicate(a) = 3 มี 2 ​​รายการซ้ำกัน: หมายเลข 2 และ 3 เหตุการณ์ที่สองที่ 3 มีดัชนีที่เล็กกว่าที่เกิดขึ้นที่สองที่ 2 ดังนั้นคำตอบคือ 3 สำหรับการส่งออกที่ควรจะเป็นa = [2, 4, 3, 5, 1] firstDuplicate(a) = -1 นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ โบนัส: …

21
นอกจากนี้การจัดตำแหน่งอาร์เรย์
บทนำ พิจารณาสองไม่ว่างเปล่าอาร์เรย์จำนวนเต็มบอกว่าA = [0 3 2 2 8 4]และB = [7 8 7 2] ในการเพิ่มการจัดตำแหน่งให้กับพวกเราเราทำดังต่อไปนี้: ทำซ้ำแต่ละครั้งอาร์เรย์พอที่จะมีความยาวรวมLCM (ความยาว (A), ความยาว (B)) ที่นี่lcmหมายถึงตัวคูณร่วมน้อย A -> [0 3 2 2 8 4][0 3 2 2 8 4] B -> [7 8 7 2][7 8 7 2][7 8 7 2] ดำเนินการเพิ่มองค์ประกอบที่ชาญฉลาดในอาร์เรย์ที่ทำซ้ำและตัดผลลัพธ์ที่ได้ในทุกตำแหน่งที่มีการตัดทั้งสองอย่าง A -> [0 …

22
ปี่ธรรมชาติ # 0 - ร็อค
เป้าหมาย สร้างโปรแกรม / ฟังก์ชั่นที่รับอินพุตNตรวจสอบว่าNคู่ของจำนวนเต็มแบบสุ่มนั้นค่อนข้างดีและส่งคืนsqrt(6 * N / #coprime)หรือไม่ TL; DR ความท้าทายเหล่านี้เป็นการจำลองอัลกอริธึมที่ต้องการเพียงแค่ธรรมชาติและสมองของคุณ หากคุณต้องการ Pi ในระหว่างการเปิดเผยซอมบี้วิธีการเหล่านี้จะไม่เปลืองกระสุน ! มีอีกแปดความท้าทายที่จะมา ชำระเงินโพสต์แซนด์บ็อกซ์เพื่อให้คำแนะนำ การจำลอง เรากำลังจำลองอะไร ความน่าจะเป็นที่สองจำนวนเต็มแบบสุ่มนั้นค่อนข้างไพเราะ (เช่น coprime หรือ gcd == 1) 6/Pi/Piดังนั้นวิธีธรรมชาติในการคำนวณ Pi ก็คือการตักก้อนหินขึ้นสองถัง (หรือกำมือ) นับพวกเขา; ดูว่าgcdของพวกเขาคือ 1; ทำซ้ำ หลังจากที่ทำเช่นนี้คู่หลายครั้งจะมีแนวโน้มต่อsqrt(6.0 * total / num_coprimes) Piหากการคำนวณสแควร์รูทในโลกหลังวิกฤติทำให้คุณกังวลไม่ต้องกังวล! มีวิธีการของนิวตันสำหรับสิ่งนั้น เราจำลองสิ่งนี้ได้อย่างไร รับอินพุต N ทำตามNเวลาต่อไปนี้: สร้างเลขจำนวนเต็มบวกแบบสุ่มiและj กับ 1 <= i …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

15
มองขึ้นไปบนฟ้า! มันเป็นอาร์เรย์ที่ยอดเยี่ยมมาก!
ได้รับแรงบันดาลใจจากคำถามนี้จากเพื่อน ๆคู่แข่งของเราในการตรวจสอบรหัส คำนิยาม อาร์เรย์ซุปเปอร์เป็นอาร์เรย์ที่แต่ละองค์ประกอบใหม่ในอาร์เรย์มีขนาดใหญ่กว่าผลรวมขององค์ประกอบทั้งหมดก่อนหน้านี้ด้วย {2, 3, 6, 13}เป็นอาเรย์ super เพราะ 3 > 2 6 > 3 + 2 (5) 13 > 6 + 3 + 2 (11) {2, 3, 5, 11}คือไม่อาร์เรย์สุดเพราะ 3 > 2 5 == 3 + 2 11 > 5 + 3 + 2 อาร์เรย์ duperเป็นอาร์เรย์ที่แต่ละองค์ประกอบใหม่ในอาร์เรย์มีขนาดใหญ่กว่าสินค้าทุกองค์ประกอบก่อนหน้านี้ด้วย {2, 3, …

13
ครอบคลุมผลรวมศูนย์
บทนำ พิจารณารายการL ที่ไม่ว่างของจำนวนเต็ม ชิ้นศูนย์รวมของLเป็น subsequence ที่ต่อเนื่องกันของLที่มีผลรวมเท่ากับ 0. ตัวอย่างเช่น[1, -3, 2]เป็นชิ้นเป็นศูนย์รวมของ[-2, 4, 1, -3, 2, 2 , -1, -1]แต่[2, 2]ไม่ใช่ (เพราะมันไม่เท่ากับ 0) และไม่ใช่[4, -3, -1] (เพราะมันไม่ต่อเนื่องกัน) คอลเลกชันของชิ้นผลรวมเป็นศูนย์ของLคือหน้าปกผลรวมเป็นศูนย์ของLหากทุกองค์ประกอบเป็นของชิ้นอย่างน้อยหนึ่งชิ้น ตัวอย่างเช่น: L = [-2, 4, 1, -3, 2, 2, -1, -1] A = [-2, 4, 1, -3] B = [1, -3, 2] C = …

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