คำถามติดแท็ก fastest-code

ผู้ชนะของความท้าทายรหัสที่เร็วที่สุดจะถูกกำหนดโดยประสิทธิภาพรันไทม์ของการส่ง เพื่อความเป็นธรรมการส่งผลงานทั้งหมดควรจะถูกทำเครื่องหมายบนเครื่องเดียวกันซึ่งโดยทั่วไปหมายถึงการส่งผลงานทั้งหมดจะต้องได้รับการทดสอบโดยโฮสต์ของการท้าทาย สำหรับการให้คะแนนโดยความซับซ้อนของเวลาแบบเชิงเส้นให้ใช้ [อัลกอริทึมเร็วที่สุด] แทน

3
เป็นนักระบาดวิทยา!
ท้าทาย คุณต้องสร้างรูปแบบที่เรียบง่ายของการแพร่กระจายของโรครอบกลุ่มคน กฎและข้อกำหนด แบบจำลองต้องเป็นอาร์เรย์ 2 มิติ 1,000 คูณ 1,000 แต่ละองค์ประกอบจะเป็นคนละคนกัน ผู้ใช้จะต้องป้อนตัวแปรสามตัวโดยใช้ argv: ความน่าจะเป็นของการส่งผ่าน (มีแนวโน้มว่ามีใครบางคนกำลังติดเชื้อคนอื่น) โอกาสในการกลายพันธุ์และระยะเวลาที่การจำลองควรทำงาน ในช่วงแรก ( t=0) คนสี่คนควรได้รับการสุ่มเลือกและติดเชื้อ วิธีการทำงานของโรคอยู่ภายใต้กฎต่อไปนี้: โรคนี้สามารถเคลื่อนที่ในแนวตั้งและแนวนอนย้ายไปที่บุคคลที่อยู่ถัดไป การติดเชื้อมีระยะเวลา 3 ครั้งในทุกคน คุณไม่สามารถแยกปัจจัยในการสร้างภูมิคุ้มกันโรค หลังจากคนติดเชื้อสามครั้งพวกเขาจะมีภูมิคุ้มกันและไม่สามารถติดเชื้อได้อีก โรคนี้อยู่ภายใต้การกลายพันธุ์ที่ทำให้คนภูมิคุ้มกันก่อนหน้านี้มีความเสี่ยงต่อโรคกลายพันธุ์ใหม่นี้ โรคที่กลายพันธุ์มีลักษณะเหมือนกันทุกประการและเป็นไปตามกฎเดียวกันกับโรคดั้งเดิม หากการกลายพันธุ์เกิดขึ้นโรคทั้งหมดจะไม่เปลี่ยนแปลงเพียง 'แพ็คเก็ต' โดยเฉพาะเมื่อส่งสัญญาณ เมื่อบุคคลได้รับเชื้อไวรัสตัวหนึ่งพวกเขาจะไม่สามารถติดเชื้อได้อีกจนกว่าการติดเชื้อในปัจจุบันจะผ่านไป หากบุคคลนั้นติดเชื้อพวกเขาจะติดเชื้อตั้งแต่เริ่มต้นจนถึงสิ้นสุด ไม่มีระดับภูมิคุ้มกัน - คนมีภูมิคุ้มกันหรือไม่ หากต้องการหยุดการโอเวอร์โหลดหน่วยความจำจะมีการ จำกัด การกลายพันธุ์สูงสุด 800 รายการ เมื่อสิ้นสุดระยะเวลาตามที่ระบุคุณควรแสดงผลลัพธ์ ผลลัพธ์จะต้องเป็นกริด 1,000 x 1,000 รายการที่แสดงว่าคนใดติดไวรัสและคนไหน สามารถส่งออกเป็นไฟล์ข้อความเป็นไฟล์รูปภาพหรือเอาต์พุตกราฟิก (โดยที่ #FFFFFF …

8
ผลรวมหลักของสัมประสิทธิ์ทวินามกลาง
ภารกิจคือเพื่อดูว่าคุณสามารถคำนวณ n เลือก n / 2 ได้เร็วกว่าฟังก์ชั่นบิวอินในไพ ธ อน แน่นอนสำหรับ n ที่มีขนาดใหญ่นี่คือตัวเลขที่ค่อนข้างใหญ่ดังนั้นแทนที่จะเอาท์พุททั้งจำนวนคุณควรเอาท์พุทผลรวมของตัวเลข ตัวอย่างเช่นสำหรับคำตอบคือn = 100000 135702สำหรับมันเป็นn=10000001354815 นี่คือรหัสหลาม: from scipy.misc import comb def sum_digits(n): r = 0 while n: r, n = r + n % 10, n / 10 return r sum_digits(comb(n,n/2,exact=True)) (highest n on your machine using your code)/(highest …

3
ผู้ประกอบการ Bitwise ใน Brainfuck
งานของคุณคือสร้างโปรแกรม brainfuck หนึ่งโปรแกรมสำหรับตัวดำเนินการไบนารีต่อไปนี้ แต่ละโปรแกรมควรใช้หนึ่งหรือสองหมายเลข 8 บิต (A และ B) จากอินพุตและคำนวณการดำเนินการที่ระบุ: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A คุณไม่ต้องใช้ทั้งหมด 5 คะแนนคำนวณโดย: #totalCharacters + {4000 * #problemsNotCompleted} คะแนนที่ถูกต้องคือจากศูนย์ (ดีที่สุด) ถึง 20,000 (ไม่เสร็จสมบูรณ์) ฉันไม่สนใจว่าคุณจะเก็บผลลัพธ์ไว้ที่ใดหรือคุณเก็บข้อมูลไว้หรือไม่ สมมติว่าเซลล์ 8 บิตและเซลล์ว่างมากเท่าที่คุณต้องการไปทางขวาเท่านั้น คุณอาจคิดว่าตัวเลขนั้นอยู่ในตำแหน่งหน่วยความจำที่เหมาะกับคุณที่สุดอยู่แล้วดังนั้นคุณไม่ต้องกังวลกับการทำงานของ IO
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

8
คำนวณ Hafnian โดยเร็วที่สุด
ความท้าทายคือการเขียนรหัสที่เร็วที่สุดที่เป็นไปได้สำหรับการคำนวณHafnian ของเมทริกซ์ Hafnian ของเมทริกซ์สมมาตร - 2nโดย - 2nเมทริกซ์Aหมายถึง: นี่ S 2nหมายถึงชุดของพีชคณิตทั้งหมดของจำนวนเต็มจาก1การที่เป็น2n[1, 2n] ลิงก์วิกิพีเดียยังมีสูตรการค้นหาที่แตกต่างกันซึ่งอาจเป็นที่สนใจ หน้า wiki เดียวกันพูดถึงการฝึกหัด adjacency แต่รหัสของคุณควรใช้กับเมทริกซ์อื่นเช่นกัน คุณสามารถสันนิษฐานได้ว่าค่าทั้งหมดจะเป็นจำนวนเต็ม แต่ไม่ใช่ว่าเป็นค่าบวกทั้งหมด นอกจากนี้ยังมีอัลกอริทึมที่เร็วขึ้น แต่ดูเหมือนจะเข้าใจยาก และ Christian Sievers เป็นคนแรกที่นำไปใช้ (ใน Haskell) ในเมทริกซ์คำถามนี้ทุกสแควร์และสมมาตรมีขนาดเท่ากัน การใช้งานอ้างอิง (โปรดทราบว่านี่ใช้วิธีที่ช้าที่สุด) นี่คือตัวอย่างโค้ดไพ ธ อนจาก Mr. Xcoder from itertools import permutations from math import factorial def hafnian(matrix): my_sum = 0 n …

2
ตีความ Kipple!
บทนำ Kippleเป็นภาษาการเขียนโปรแกรมแบบกองซ้อนซึ่งเป็นความลับที่คิดค้นโดย Rune Berg ในเดือนมีนาคม 2003 Kipple มี 27 กอง 4 ตัวดำเนินการและโครงสร้างการควบคุม สแต็ค สแต็กถูกตั้งชื่อa- zและมีจำนวนเต็ม 32 บิต นอกจากนี้ยังมีสแต็กพิเศษ@เพื่อให้หมายเลขเอาต์พุตสะดวกยิ่งขึ้น เมื่อตัวเลขถูกส่งเข้าสู่@ค่า ASCII ของตัวเลขนั้นจะถูกผลักเข้าไปแทน (ตัวอย่างเช่นหากคุณกด 12 ถึง@จะได้ 49 และ 50 @แทน) อินพุตถูกส่งไปยังอินพุตสแต็กiก่อนที่โปรแกรมจะถูกดำเนินการ ล่ามจะถามหาค่าที่จะจัดเก็บiก่อนดำเนินการ หลังจากการดำเนินการเสร็จสิ้นสิ่งใดในเอาท์พุทสแต็คoจะถูกตอกไปยังเอาท์พุทเป็นตัวอักษร ASCII เนื่องจากนี่เป็นเพียงกลไก IO ของ Kipple เท่านั้นการโต้ตอบกับโปรแกรม Kipple จึงเป็นไปไม่ได้ ผู้ประกอบการ ตัวถูกดำเนินการเป็นทั้งตัวระบุสแต็กหรือจำนวนเต็ม 32 บิตลงนาม กด: >หรือ< ไวยากรณ์: Operand>StackIndentifierหรือStackIndentifier<Operand ตัวดำเนินการพุชนำตัวถูกดำเนินการไปทางซ้ายแล้วผลักไปยังสแต็กที่ระบุ ตัวอย่างเช่น12>aจะส่งค่า 12 …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
นับจำนวนเมทริกซ์ Hankelable
พื้นหลัง เมทริกซ์ Hankelไบนารีคือเมทริกซ์ที่มีค่าคงตัวเอียง (diagonals ลาดเอียง) คงที่ที่มีเพียง0s และ1s เท่านั้น เช่นเมทริกซ์ Hankel ขนาด 5x5 ดูเหมือนว่า a b c d e b c d e f c d e f g d e f g h e f g h i ที่a, b, c, d, e, f, g, h, iมีทั้งหรือ01 ลองกำหนดเมทริกซ์Mเป็นHankelableถ้ามีการเรียงลำดับของแถวและคอลัมน์ของMเพื่อให้Mเป็นเมทริกซ์ Hankel นี่หมายความว่าเราสามารถใช้การเรียงสับเปลี่ยนหนึ่งครั้งกับลำดับของแถวและอีกอันหนึ่งอาจแตกต่างกับคอลัมน์ …

6
False Positives บน Integer Lattice
ลีดเดอร์บอร์ด User Language Score ========================================= Ell C++11 293,619,555 feersum C++11 100,993,667 Ell C++11 78,824,732 Geobits Java 27,817,255 Ell Python 27,797,402 Peter Taylor Java 2,468 <reference> Julia 530 พื้นหลัง เมื่อทำงานกับตารางจำนวนเต็มแบบสองมิติในบางครั้งคุณต้องการทราบว่าเวกเตอร์สองตัว (ที่มีส่วนประกอบจำนวนเต็ม) มีขนาดเท่ากันหรือไม่ แน่นอนในเรขาคณิตแบบยุคลิดขนาดของเวกเตอร์(x,y)นั้นได้มาจาก √(x² + y²) ดังนั้นการนำไปปฏิบัติที่ไร้เดียงสาอาจคำนวณค่านี้สำหรับทั้งเวกเตอร์และเปรียบเทียบผลลัพธ์ ไม่เพียง แต่จะได้รับการคำนวณรากที่สองที่ไม่จำเป็นเท่านั้น แต่ยังทำให้เกิดปัญหากับความไม่ถูกต้องของจุดลอยตัวซึ่งอาจให้ผลบวกปลอม: เวกเตอร์ที่มีขนาดต่างกัน สำหรับจุดประสงค์ของการท้าทายนี้เราได้นิยามค่าบวกปลอมเป็นคู่ของพิกัด(a,b)และ(c,d)ซึ่ง: ขนาดกำลังสองของพวกเขาแตกต่างกันเมื่อแสดงเป็นจำนวนเต็ม 64 บิตที่ไม่ได้ลงชื่อ ขนาดของมันจะเหมือนกันเมื่อแสดงเป็นเลขทศนิยม 64 บิตและคำนวณโดยใช้สแควร์รูท 64 บิต (ตามมาตรฐาน …

16
คุณสามารถคูณได้เร็วแค่ไหน?
ด้วยการทุบตีPython เมื่อเร็ว ๆนี้นี่เป็นความพยายามที่จะแสดงจุดแข็งของ Python ความท้าทายของคุณคือการเขียนโปรแกรมที่คำนวณแฟคทอเรียลของจำนวนที่สูงที่สุดเท่าที่จะทำได้ภายใน 10 วินาทีn คะแนนของคุณจะเป็น (highest n for your program on your machine)/(highest n for my program on your machine) กฎระเบียบ คุณต้องคำนวณวิธีการแก้ปัญหาจำนวนเต็มที่แน่นอน เนื่องจากแฟคทอเรียลจะสูงกว่าสิ่งที่สามารถพอดีกับจำนวนเต็ม 64 บิตที่ไม่ได้ลงชื่อดังนั้นคุณสามารถใช้สตริงได้หากภาษาของคุณไม่รองรับจำนวนเต็มขนาดใหญ่ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม โดยเฉพาะอย่างยิ่งคุณไม่สามารถใช้ทรัพยากรภายนอกใด ๆ เฉพาะส่วนการคำนวณ (ซึ่งรวมถึงเวลาสำหรับการแก้ไขปัญหาใด ๆ ที่ใช้สตริง) จะเพิ่มเวลารวมซึ่งควรต่ำกว่า 10 วินาทีโดยเฉลี่ย โปรแกรมเธรดเดี่ยวเท่านั้น คุณต้องเก็บผลลัพธ์ในรูปแบบที่พิมพ์ได้ง่าย (เนื่องจากต้องใช้เวลาในการพิมพ์) (ดูโปรแกรมของฉันด้านล่าง), สตริง, ตัวแปร, อาร์เรย์อักขระ ฯลฯ แก้ไข: โปรแกรมของคุณจะต้องให้ผลลัพธ์ที่ถูกต้องสำหรับทุกคนn:1 <= n …

1
ติดตั้งเลขทศนิยมแบบไบนารีของ IEEE 754 64- บิตผ่านการจัดการจำนวนเต็ม
(ฉันติดแท็กคำถาม "C" ในขณะนั้น แต่ถ้าคุณรู้ภาษาอื่นที่สนับสนุนสหภาพคุณสามารถใช้มันได้) งานของคุณคือการสร้างตัวดำเนินการทางคณิตศาสตร์สี่มาตรฐาน+ - * /สำหรับโครงสร้างต่อไปนี้: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } เช่นว่าการดำเนินการของตัวเองเท่านั้นที่จะจัดการหรือเข้าถึงส่วนจำนวนเต็ม (ดังนั้นจึงไม่มีการเปรียบเทียบกับสองครั้งตลอดเวลาในระหว่างการดำเนินการอย่างใดอย่างหนึ่ง) และผลที่ได้คือเหมือนกัน (หรือเทียบเท่าตามหน้าที่ในกรณีของผลลัพธ์ที่ไม่ใช่ตัวเลขเช่นNaN) ราวกับว่าการดำเนินการทางคณิตศาสตร์ที่สอดคล้องกันถูกนำไปใช้โดยตรงกับdoubleแทน คุณอาจเลือกส่วนจำนวนเต็มเพื่อจัดการแม้กระทั่งการใช้ส่วนต่าง ๆ ในตัวดำเนินการที่แตกต่างกัน (คุณสามารถเลือกที่จะลบ "unsigned" ออกจากฟิลด์ใด ๆ ในสหภาพได้แม้ว่าฉันไม่แน่ใจว่าต้องการทำเช่นนั้นหรือไม่) คะแนนของคุณคือผลรวมของความยาวของรหัสเป็นอักขระสำหรับผู้ให้บริการแต่ละราย คะแนนต่ำสุดชนะ สำหรับพวกเราที่ไม่คุ้นเคยกับข้อกำหนด IEEE 754 นี่เป็นบทความเกี่ยวกับเรื่องนี้ใน Wikipedia การแก้ไข: 03-06 …

1
ทำลายตัวเลขที่หัก
ฉันได้ออกแบบตัวสร้างแบบสุ่มอย่างง่ายที่วนสองตัวเลขด้วยวิธีที่วุ่นวายโดยใช้วิธีการคูณและโมดูลัส มันใช้งานได้ดีสำหรับการที่ ถ้าฉันจะใช้มันเป็นเครื่องกำเนิดไฟฟ้ารหัส แต่มันจะมีความเสี่ยงต่อการโจมตีธรรมดาที่รู้จักเนื่องจากผู้โจมตีสามารถย้อนกลับวิศวกรเมล็ดจากชุดของตัวเลขสุ่มในลักษณะที่มีประสิทธิภาพในการคำนวณ หากต้องการพิสูจน์ตัวเลขที่เสียหายให้ค้นหาคู่ค่าทางกฎหมายที่สร้างค่า 7 ศูนย์ในหนึ่งแถวในช่วง [0; 255] โดยใช้พลังงานเพียงเล็กน้อยเวลา CPU ฯลฯ เท่าที่จะทำได้ นี่คือตัวสร้างแบบสุ่มที่เขียนใน JavaScript: function seed(state1,state2){ //Constants var mod1=4294967087 var mul1=65539 var mod2=4294965887 var mul2=65537 function random(limit){ //Cycle each state variable 1 step state1=(state1*mul1)%mod1 state2=(state2*mul2)%mod2 //Return a random variable return (state1+state2)%limit } //Return the random function return random } …

3
นับอาร์เรย์ที่สร้างชุดพิเศษ
คำถามนี้มีการตั้งค่าคล้ายกับFind a array ที่เหมาะกับชุดของผลรวมแม้ว่าจะค่อนข้างแตกต่างกันในเป้าหมาย พิจารณาอาร์เรย์ของความยาวA nอาร์เรย์มีจำนวนเต็มบวกเท่านั้น A = (1,1,2,2)เช่น ให้เรากำหนดf(A)เป็นชุดของผลรวมของทุกคนที่ไม่ว่างเปล่า subarrays Aต่อเนื่องกันของ ในกรณีf(A) = {1,2,3,4,5,6}นี้ ขั้นตอนในการผลิตf(A) มีดังนี้: subarrays ของAreA จำนวนเงินของตนมี(1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2) ชุดที่คุณได้รับจากรายการนี้จึงเป็น1,1,2,2,2,3,4,4,5,6{1,2,3,4,5,6} เราเรียกอาเรย์ที่A ไม่ซ้ำกันถ้าไม่มีอาเรย์อื่นBที่มีความยาวเท่ากันเช่นนั้นf(A) = f(B)ยกเว้นสำหรับอาเรย์ที่Aกลับด้าน เป็นตัวอย่างf((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}แต่ไม่มีความยาวอื่น ๆ3ที่สร้างชุดของผลรวมเดียวกัน เราจะพิจารณาอาร์เรย์ที่องค์ประกอบที่มีทั้งจำนวนเต็มรับหรือs s+1เช่นถ้าs=1อาร์เรย์เท่านั้นที่จะมีและ12 งาน งานสำหรับที่กำหนดnและsจะนับจำนวนอาร์เรย์ที่ไม่ซ้ำกันของความยาวนั้น คุณสามารถสรุปได้ว่าsอยู่ระหว่างและ19 คุณไม่ควรนับการย้อนกลับของอาเรย์รวมทั้งอาเรย์เอง ตัวอย่าง s = 1n+1คำตอบอยู่เสมอ …

2
บล็อกพาร์ทิชันสตริง
แรงบันดาลใจ พิจารณารายการlประกอบด้วยตัวเลข กำหนดดำเนินการบล็อกที่ดัชนีiอยู่ในรายชื่อlที่จะทำหน้าที่ในการเคลื่อนย้าย 3 องค์ประกอบติดต่อกันเริ่มต้นจากiในlไปยังจุดสิ้นสุด ตัวอย่าง: l, i (1-indexing) -> l (after applying block operation at index i) [1,2,3,4,5], 1 -> [4,5,1,2,3] [1,2,3,4,5,6,7], 3 -> [1,2,6,7,3,4,5] รับรายการที่ประกอบด้วยเพียง 0 และ 1 ความท้าทายของคุณคือการแบ่งพาร์ติชันเพื่อให้ศูนย์อยู่ข้างหน้าและรายการอยู่ด้านหลังโดยใช้การดำเนินการบล็อกเท่านั้น ผลลัพธ์ควรเป็นดัชนีตามลำดับที่ใช้กับรายการ เนื่องจากรายการนี้เป็นไปไม่ได้สำหรับ[1,0,1,0]ความยาวของรายการจึงรับประกันได้ว่าจะมีอย่างน้อย 5 รายการ กรณีทดสอบ (การจัดทำดัชนี 1 รายการ) (มีเอาต์พุตที่ถูกต้องอื่น ๆ ) [1,1,1,0,0] -> [1] [0,1,0,1,0] -> [1,2,1,1] [0,0,0,1,1,1,0,0,0] -> …

7
นับอาร์เรย์ของช่วงเวลา
periodของสตริงเป็นที่ไม่ใช่ศูนย์การเปลี่ยนแปลงที่สั้นที่สุดเพื่อให้สตริงตรงกับตัวเองโดยไม่สนใจชิ้นส่วนใด ๆ ที่แขวนอยู่ ดังนั้นสำหรับตัวอย่างเช่นมีระยะเวลาabcabcab 3โดยการประชุมเราบอกว่าถ้าไม่มีการเปลี่ยนแปลงเช่นนั้นสตริงมีระยะเวลาเท่ากับความยาวของมัน ดังนั้นระยะเวลาของการabcdeเป็น5ระยะเวลาของการมี a1 ในแง่ที่เป็นทางการมากขึ้นช่วงเวลาของสตริงSคือขั้นต่ำi > 0ดังนั้นS[1,n-i] == S[i+1,n](การจัดทำดัชนีจาก1) สำหรับสตริง S ของกำลังสองที่มีความยาวเราจะคำนวณระยะเวลาของคำนำหน้าทั้งหมดของกำลังสองยาว S = abcabcabตัวอย่างเช่นพิจารณา ช่วงเวลาที่เราจะคำนวณคือ: 'a', 1 'ab', 2 'abca', 3 'abcabcab', 3 [1, 2, 3, 3]เราจะอยู่ในความเป็นจริงเพียงแค่การส่งออกอาร์เรย์ของระยะเวลาที่เป็น สำหรับพลังบวกให้สองพิจารณาทั้งหมดสตริงไบนารีที่เป็นไปได้n Sโปรดจำไว้ว่าสตริงไบนารีเป็นเพียงสตริงของ1s และ0s ดังนั้นจึงมี2^nสตริงดังกล่าว (นั่นคือ2กำลังn) สำหรับแต่ละคนเราสามารถคำนวณช่วงเวลานี้ได้ ความท้าทายคือการเขียนโค้ดที่ใช้n(กำลังสอง) เป็นอินพุตและคำนวณจำนวนอาร์เรย์ที่แตกต่างกัน คำตอบสำหรับn = 1, 2, 4, 8, 16, 32, 64, 128คือ: 1, …

1
ช่วย Jason จัดรูปแบบ JSON ของเขา
เจสันมี JSON ตัวใหญ่ แต่ไม่สามารถอ่านได้ดังนั้นเขาจึงต้อง prettify การจัดรูปแบบข้อมูลจำเพาะ JSON มี 4 ประเภท: เบอร์; แค่0-9 Strings; "สตริงที่ยกมาสองครั้งหนีออกมาด้วย\ อาร์เรย์; คั่นด้วยโดย[]รายการที่คั่นด้วย,รายการสามารถเป็นประเภทใดก็ได้ วัตถุ; การจัด{}รูปแบบคั่นด้วยรูปแบบคือkey: valueคีย์เป็นสตริงและค่าเป็นประเภทใด ๆ เหล่านี้ ระยะห่าง อาร์เรย์ควรมีหนึ่งช่องว่างหลังเครื่องหมายจุลภาคระหว่างรายการ วัตถุควรมีช่องว่างเดียวระหว่างคีย์และค่าหลังจาก : รอยหยัก แต่ละระดับการซ้อนจะถูกเยื้อง 2 มากกว่าก่อนหน้า คู่ของคีย์ / ค่าของแต่ละคู่จะอยู่ในบรรทัดของตัวเองเสมอ วัตถุถูกเยื้อง อาร์เรย์จะถูกเยื้องในหลายบรรทัดถ้ามันมีอาร์เรย์หรือวัตถุอื่น มิฉะนั้นอาร์เรย์จะยังคงอยู่ในหนึ่งบรรทัด กฎระเบียบ บิวด์อินที่ไม่อนุญาตให้ทำภารกิจนี้เล็กน้อย เช่นเดียวกับช่องโหว่มาตรฐานจะไม่ได้รับอนุญาต ตัวอย่าง [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

2
ตัวค้นหาผลที่ตามมาที่ยาวที่สุดที่เร็วที่สุด
งานของคุณคือการแก้ปัญหาที่ยาวที่สุดที่พบบ่อย subsequenceสำหรับnสตริงที่มีความยาว 1,000 วิธีการแก้ปัญหาที่ถูกต้องในการแก้ไขปัญหา LCS สำหรับสองคนหรือมากกว่าสตริงS 1 ... S nใด ๆ สตริงTของความยาวสูงสุดเช่นว่าตัวละครของTปรากฏในทุกS ฉันในการสั่งซื้อเช่นเดียวกับในT โปรดทราบว่าTไม่ต้องย่อยสตริงของSฉัน เราได้แก้ไขปัญหานี้แล้วในปริมาณที่สั้นของรหัส เวลานี้ขนาดไม่สำคัญ ตัวอย่าง สตริงaxbyczและ xaybzcมี 8 ส่วนประกอบทั่วไปของความยาว 3: abc abz ayc ayz xbc xbz xyc xyz สิ่งเหล่านี้จะเป็นทางออกที่ถูกต้องสำหรับปัญหา LCS รายละเอียด เขียนโปรแกรมเต็มรูปแบบที่แก้ปัญหา LCS ตามที่อธิบายไว้ข้างต้นปฏิบัติตามกฎต่อไปนี้: ข้อมูลที่ป้อนจะประกอบด้วยสตริงความยาวตั้งแต่สองสตริงขึ้นไป 1,000 ตัวประกอบด้วยอักขระ ASCII พร้อมรหัสจุดระหว่าง 0x30 ถึง 0x3F คุณต้องอ่านอินพุตจาก STDIN คุณมีสองตัวเลือกสำหรับรูปแบบอินพุต: แต่ละสตริง (รวมถึงสตริงสุดท้าย) ตามด้วยตัวป้อนบรรทัด …

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