คำถามติดแท็ก sorting

ความท้าทายนี้มีจุดมุ่งหมายเพื่อแก้ไขโดยการเรียงลำดับการจัดเรียงหรือจัดระเบียบชุดข้อมูลบางส่วน

17
Xorting Array
ตามแนวคิดแล้วความท้าทายนี้ง่ายมาก ๆ คุณได้รับรายชื่อของจำนวนเต็มไม่ใช่เชิงลบ หากเป็นไปได้ให้ค้นหาจำนวนเต็มที่ไม่เป็นลบเช่นรายการที่ประกอบด้วยจะถูกเรียงลำดับ หากไม่มีสิ่งนั้นเอาท์พุทควรเป็นสิ่งที่ไม่สามารถเข้าใจผิดว่าถูกต้องเช่นจำนวนลบไม่มีอะไรเลยข้อผิดพลาด ฯลฯaiNbi = ai XOR NNN นี่คือตัวอย่าง: [4, 7, 6, 1, 0, 3] ถ้าเราใช้ทุกองค์ประกอบในรายการนี้XOR 5เราจะได้รับ [1, 2, 3, 4, 5, 6] ซึ่งจัดเรียง (โปรดทราบว่ามันไม่ใช่ข้อกำหนดสำหรับรายการผลลัพธ์ที่จะมีองค์ประกอบที่เป็นเอกลักษณ์และไม่มีช่องว่างหากผลลัพธ์ของการดำเนินการดังกล่าว[0, 1, 1, 3]ยังคงใช้ได้) ในทางกลับกันสำหรับรายการ [4, 7, 1, 6, 0, 3] ไม่มีNอยู่จริง คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ อินพุตอาจอยู่ในรายการที่สะดวกหรือรูปแบบสตริง คุณอาจสันนิษฐานว่ารายการนั้นน้อยกว่าแต่ละรายการและรายการนั้นมีองค์ประกอบอย่างน้อยหนึ่งรายการai231 รหัสของคุณจะต้องจัดการกับกรณีทดสอบใด ๆ …

20
เรียงรายการและเขียนภาษาอังกฤษ!
เจ้านายของคุณมีการจัดการเพื่ออ่านข้อความที่ซ่อนความลับ แม้ว่าเขาจะไม่ได้ยิงคุณ แต่เขาเพิ่งทำให้คุณเป็นเลขาและห้ามคุณจากการเขียนรหัส แต่คุณเป็นโปรแกรมเมอร์ คุณต้องเขียนโค้ด คุณต้องรหัส ดังนั้นรหัสของคุณจำเป็นต้องมีลักษณะใกล้เคียงกับภาษาอังกฤษที่สุดเท่าที่จะเป็นไปได้เข้าใจและดูรหัสน้อยที่สุดเท่าที่จะทำได้ รหัสของคุณควรใช้รายการจำนวนเต็ม (ในฟังก์ชั่นหรือ STDIN) และส่งคืนรายการที่เรียงลำดับ (ส่งคืนหรือ STDOUT) สามารถใช้ภาษาใดก็ได้ แต่ฉันกำลังมองหาวิธีแก้ปัญหาที่สร้างสรรค์ที่สุด (ขอชื่นชมถ้ารหัสของคุณดูเหมือนจดหมายธุรกิจ) นี่คือการประกวดความนิยม!

30
ใช้อัลกอริทึมการเรียงลำดับ Thanos
อัลกอริทึมการเรียงลำดับมีลักษณะดังนี้: ในขณะที่ไม่มีการเรียงลำดับรายการให้จัดครึ่งหนึ่งของรายการทั้งหมด (นำออกจากรายการ) ทำต่อไปจนกว่าจะมีการเรียงลำดับรายการหรือมีเพียงหนึ่งรายการที่เหลืออยู่ (ซึ่งเรียงลำดับตามค่าเริ่มต้น) อัลกอริทึมการเรียงลำดับนี้อาจให้ผลลัพธ์ที่แตกต่างกันขึ้นอยู่กับการใช้งาน ขั้นตอนการลบไอเท็มนั้นขึ้นอยู่กับการนำไปใช้ในการตัดสินใจ แต่รายการนั้นควรมีความยาวครึ่งหนึ่งก่อนที่จะผ่านขั้นตอนการลบไอเท็มครั้งเดียว อัลกอริทึมของคุณอาจตัดสินใจที่จะลบครึ่งแรกหรือรายการครึ่งสุดท้ายของรายการรายการคี่ทั้งหมดแม้กระทั่งรายการทีละรายการจนกว่ารายการจะมีความยาวครึ่งหนึ่งหรือไม่ได้กล่าวถึง รายการอินพุตสามารถมีจำนวนไอเท็มตามอำเภอใจ (ภายในเหตุผลสมมติว่ามีมากถึง 1,000 ไอเท็ม) ไม่เพียง แต่รายการที่แบ่งแยกได้อย่างสมบูรณ์แบบของรายการ 2 ^ n คุณจะต้องลบรายการ (n + 1) / 2 หรือ (n-1) / 2 หากรายการนั้นเป็นเลขคี่ฮาร์ดโค้ดหรือตัดสินใจสุ่มระหว่างรันไทม์ ตัดสินใจด้วยตัวคุณเอง: ธานอสจะทำอะไรถ้าจักรวาลมีสิ่งมีชีวิตแปลก ๆ จำนวนหนึ่ง? รายการจะถูกจัดเรียงหากไม่มีรายการใดเล็กกว่ารายการก่อนหน้า รายการที่ซ้ำกันอาจเกิดขึ้นในอินพุตและอาจเกิดขึ้นในเอาต์พุต โปรแกรมของคุณควรใช้อาร์เรย์ของจำนวนเต็ม (ผ่าน stdin หรือพารามิเตอร์ทั้งรายการหรือพารามิเตอร์อาร์เรย์) และส่งกลับอาร์เรย์ที่เรียงลำดับแล้ว (หรือพิมพ์ไปยัง stdout) ตัวอย่าง: // A sorted list remains sorted [1, …

28
ข้อความยุบตัวในแนวตั้ง
ว่าฉันมีข้อความเช่นนี้ (แต่ละคำในหนึ่งบรรทัดโดยไม่มีช่องว่าง) Programming Puzzles & Code Golf ไม่สมเหตุสมผล! มันท้าทายกฎของฟิสิกส์โดยสิ้นเชิง ความท้าทายของคุณคือการแก้ไขสถานการณ์ที่เป็นไปไม่ได้นี้และยุบข้อความเช่น: P Prog &uzz Coderam Golflesming เพื่อให้ไม่มีที่ว่างใต้อักขระใด ๆ แต่ตัวละครยังคงอยู่ในลำดับแนวตั้ง เป้าหมายคือเพื่อตอบสนองความต้องการ แต่ใช้ไบต์ที่น้อยที่สุดของซอร์สโค้ดที่เป็นไปได้

30
สร้าง“ H” จาก“ H” ที่เล็กลง
ท้าทาย สร้างฟังก์ชั่นหรือโปรแกรมที่เมื่อได้รับจำนวนเต็มsizeทำต่อไปนี้: ถ้าsizeเท่ากับ 1 เอาต์พุต H H HHH H H ถ้าsizeมากกว่า 1 เอาต์พุต X X XXX X X โดยที่Xเอาต์พุตของโปรแกรม / ฟังก์ชั่นสำหรับsize - 1 (หากคุณต้องการคุณอาจมีกรณีฐานสอดคล้องกับ0ตราบใดที่คุณระบุในคำตอบของคุณ) รูปแบบผลลัพธ์ใด ๆ ต่อไปนี้เป็นที่ยอมรับแล้วแต่จำนวนใดจะสะดวกกว่าสำหรับคุณ: สตริงของโครงสร้างที่ต้องการพร้อมอักขระสองตัวที่แตกต่างกันซึ่งสอดคล้องกับHและspace อาร์เรย์สองมิติพร้อมโครงสร้างที่ต้องการโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อาร์เรย์ / รายการสตริงที่มีหนึ่งบรรทัดของเอาต์พุตในแต่ละสตริงโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อนุญาตให้มีช่องว่างนำหน้าตราบใดที่มีช่องว่างนำหน้าจำนวนหนึ่งคงที่ในแต่ละบรรทัด อักขระเอาต์พุตที่แตกต่างกันสองตัวสามารถขึ้นอยู่กับสิ่งที่คุณเลือกตราบใดที่อักขระเหล่านั้นแตกต่างกัน ระบุรูปแบบผลลัพธ์ที่โค้ดของคุณส่งคืน กรณีทดสอบ 1 H H HHH H H 2 H H H H HHH HHH H …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

28
คำนวณพี (ไม่ใช่ Pi)
ไม่ฉันไม่ได้หมายถึงและϕ = 1.618... π = 3.14159...ผมหมายถึงฟังก์ชั่น φ (x)คือจำนวนของจำนวนเต็มน้อยกว่าหรือเท่ากับไปที่มีความสำคัญที่จะxx π (x)เป็นจำนวน primes xน้อยกว่าหรือเท่ากับ ขอบอกว่า "ไม่ได้ปี่" แล้วเธ (x) และกำหนดให้เป็นหมายเลขของคอมโพสิตxน้อยกว่าหรือเท่ากับ งาน ป.ร. ให้ไว้เป็นจำนวนเต็มบวกอย่างเคร่งครัดx, คำนวณφ (เธ (x)) การให้คะแนนอยู่ในหน่วยไบต์ ตัวอย่าง แต่ละบรรทัดประกอบด้วยอินพุต (จาก 1 ถึง 100, รวม) และเอาต์พุตที่สอดคล้องกันคั่นด้วยช่องว่าง 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

23
การประกวด: วิธีที่เร็วที่สุดในการจัดเรียงข้อมูลแบบกระจายขนาดใหญ่ของเกาส์เซียน
ตามความสนใจในคำถามนี้ฉันคิดว่ามันน่าสนใจที่จะตอบคำถามให้มีวัตถุประสงค์และเชิงปริมาณมากขึ้นโดยเสนอการประกวด ความคิดนั้นง่าย: ฉันได้สร้างไฟล์ไบนารีที่มี 50 ล้าน gaussian- กระจายคู่ (เฉลี่ย: 0, stdev 1) เป้าหมายคือการสร้างโปรแกรมที่จะจัดเรียงสิ่งเหล่านี้ในหน่วยความจำโดยเร็วที่สุด การดำเนินการอ้างอิงที่ง่ายมากใน python ใช้เวลา 1m4s ในการดำเนินการให้เสร็จสมบูรณ์ เราไปได้ต่ำแค่ไหน? กฎมีดังนี้คำตอบด้วยโปรแกรมที่เปิดไฟล์ "gaussian.dat" และเรียงลำดับตัวเลขในหน่วยความจำ (ไม่จำเป็นต้องส่งออก) และคำแนะนำสำหรับการสร้างและเรียกใช้โปรแกรม โปรแกรมจะต้องสามารถทำงานกับเครื่อง Arch Linux ของฉันได้ (หมายถึงคุณสามารถใช้ภาษาโปรแกรมหรือไลบรารีใด ๆ ที่ติดตั้งได้ง่ายในระบบนี้) โปรแกรมต้องสามารถอ่านได้อย่างมีเหตุผลเพื่อให้ฉันมั่นใจได้ว่าจะปลอดภัยในการเปิดตัว (ไม่มีวิธีแก้ปัญหาเฉพาะแอสเซมเบลอร์เท่านั้นโปรด!) ฉันจะรันคำตอบบนเครื่องของฉัน (quad core, 4 Gigabytes of RAM) ทางออกที่เร็วที่สุดจะได้รับคำตอบที่ยอมรับและค่าหัว 100 คะแนน :) โปรแกรมที่ใช้ในการสร้างตัวเลข: #!/usr/bin/env python import random from array …

30
การเรียงลำดับแบบสูญเสีย (ใช้ Dropsort)
Dropsortซึ่งออกแบบโดย David Morgan-Mar เป็นตัวอย่างของ "อัลกอริทึมการเรียงลำดับ" แบบ linear-time ที่สร้างรายการที่จริงแล้วเรียงลำดับแล้ว แต่มีองค์ประกอบดั้งเดิมบางส่วนเท่านั้น องค์ประกอบใด ๆ ที่ไม่ได้มีขนาดใหญ่เท่ากับองค์ประกอบสูงสุดก่อนหน้านั้นจะถูกลบออกจากรายการและทิ้งไป ในงานนี้คุณจะได้รับรายการจำนวนเต็มเป็นอินพุต (STDIN หรือฟังก์ชันอาร์กิวเมนต์คุณจะต้องสนับสนุนอย่างน้อยช่วงของเลขจำนวนเต็มที่มีการลงนามแบบ 8 บิต 8 บิต) งานของคุณคือการลดระดับพวกมันแล้วส่งออกองค์ประกอบที่เหลือใน ใบสั่ง. คุณอาจคิดว่ารายการนั้นไม่ว่างเปล่า นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดชนะ กรณีทดสอบ Input Output 1 2 5 4 3 7 1 2 5 7 10 -1 12 10 12 -7 -8 -5 0 -1 1 -7 -5 0 …

18
มีนายอำเภอใหม่สองคนในเมือง - ระบุคู่ DJMcMego!
ขณะนี้มีบางส่วนใหม่นายอำเภอผู้ดูแลในเมืองชำเลืองและDJMcMayhem เราต้องการความท้าทายเพื่อให้เกียรติพวกเขาอย่างเหมาะสมสำหรับตำแหน่งใหม่ของพวกเขาดังนั้นเราจึงไปที่นั่น นี่คือสิ่งที่ได้จับความสนใจของฉันเมื่อโฉบเหนือโปรไฟล์ของพวกเขา - รหัสผู้ใช้ของพวกเขาและ45941หากคุณทำการลบเลขด้วยปัญญาคุณจะสังเกตเห็นบางสิ่งที่น่าตื่นเต้นทีเดียว317163171631716459414594145941 3|1|7|1|6 4|5|9|4|1 -+-+-+-+- (-) 1|4|2|3|5 จำนวนที่สร้างโดยขั้นตอนวิธีการดังกล่าวข้างต้นคือ14235มีบางอย่างที่พิเศษเกี่ยวกับจำนวนเต็มนี้คือมันประกอบด้วยติดต่อกันตัวเลขเท่านั้นเรียงตามลำดับจากน้อยไปมาก แต่ตรงหนึ่งของตัวเลขที่ไม่ได้วางไว้อย่างถูกต้อง - 44142351423514235444 เราจะเรียกคู่ของจำนวนเต็มบวกคู่ DJMcMegoถ้าหลักที่ชาญฉลาดความแตกต่างแน่นอนเป็นจำนวนเต็มติดต่อกันเรียงตามลำดับจากน้อยไปมาก แต่ตรงหนึ่งของพวกเขาไม่ได้ที่มันเป็น นั่นคือมันเป็นไปได้ที่จะย้ายตัวเลขหนึ่งหลักของผลลัพธ์ของการลบตัวเลขที่ชาญฉลาดไปยังตำแหน่งอื่นเช่นจำนวนเต็มที่ได้รับนั้นมีตัวเลขที่ต่อเนื่องกันเรียงตามลำดับจากน้อยไปมาก( a , b )(a,b)(a, b) ในตัวอย่างของเราด้านบนคู่เป็นคู่DJMcMegoเพราะถ้าถูกย้ายระหว่างและผลที่ได้คือซึ่งเป็นไปตามเกณฑ์ โปรดทราบว่าตัวเลขของจำนวนผลลัพธ์ไม่จำเป็นต้องเริ่มต้นที่พวกเขาควรจะติดต่อกัน เมื่อคนหนึ่งไม่แน่ใจเกี่ยวกับการตัดสินใจว่าพวกเขาควรทำอะไรพวกเขาสามารถพึ่งพาความช่วยเหลือของอีกฝ่ายในการแยกแยะ4 3 5 12345 1( 31716 , 45941 )(31716,45941)(31716, 45941)444333555123451234512345111 งานของคุณคือการส่งออกค่าความจริง / เท็จขึ้นอยู่กับว่าคู่ของจำนวนเต็มบวกที่กำหนดเป็นอินพุตเป็นคู่ DJMcMego คุณรับประกันได้ว่าและจะมีจำนวนหลักเท่ากันเสมออย่างน้อย 4ขaaaขbb คุณสามารถใช้จำนวนเต็มในรูปแบบที่เหมาะสม (เช่นจำนวนเต็ม, สตริง, รายการหลัก ฯลฯ ) คุณสามารถแข่งขันในภาษาการเขียนโปรแกรมใด ๆและสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีการมาตรฐานใด ๆในขณะที่การรับทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น …

16
ใช้“ Lazy Sort”
ฉันควรจะเรียงลำดับรายการตัวเลข แต่ฉันขี้เกียจสุด ๆ เป็นเรื่องยากมากที่จะหาวิธีสลับตัวเลขทั้งหมดที่อยู่ในลำดับที่เพิ่มขึ้นดังนั้นฉันจึงใช้อัลกอริทึมของตัวเองที่จะรับประกันว่ารายการใหม่จะถูกจัดเรียง¹ นี่คือวิธีการทำงาน: สำหรับรายการขนาดNเราจะต้องมีการทำซ้ำN-1 ในแต่ละรอบซ้ำ ตรวจสอบว่าหมายเลข N'th นั้นเล็กกว่าN + 1'thหรือไม่ หากเป็นเช่นนั้นตัวเลขทั้งสองนี้จะถูกจัดเรียงไว้แล้วและเราสามารถข้ามการทำซ้ำได้ หากไม่ใช่คุณจำเป็นต้องลดจำนวนNหมายเลขแรกอย่างต่อเนื่องจนกว่าตัวเลขทั้งสองนี้จะเป็นไปตามลำดับ ลองยกตัวอย่างที่เป็นรูปธรรม สมมติว่าอินพุตเป็น 10 5 7 6 1 ในการคำนวณซ้ำครั้งแรกเราจะเปรียบเทียบ 10 และ 5 10 มากกว่า 5 ดังนั้นเราจะลดมันจนกว่ามันจะเล็กกว่า: 4 5 7 6 1 ตอนนี้เราเปรียบเทียบ 5 กับ 7. 5 น้อยกว่า 7 ดังนั้นเราไม่จำเป็นต้องทำอะไรเลยในการทำซ้ำนี้ ดังนั้นเราไปต่อไปและเปรียบเทียบ 7 และ 6 7 มีขนาดใหญ่กว่า 6 ดังนั้นเราจึงลดตัวเลขสามตัวแรกจนกระทั่งมันเล็กกว่า …

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

19
พายของฉันถูกแบ่งออกเป็นสองส่วนแล้ว?
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวกที่ไม่มีข้อ จำกัด คุณอาจจะถือว่าเป็นการป้อนข้อมูลในรูปแบบที่สะดวกที่เหมาะสมเช่นหรือ"1 2 3 4"[1, 2, 3, 4] ตัวเลขในรายการอินพุตแสดงถึงชิ้นส่วนของแผนภูมิวงกลมเต็มโดยที่ขนาดแต่ละส่วนเป็นสัดส่วนกับหมายเลขที่สอดคล้องกันและชิ้นส่วนทั้งหมดจะถูกจัดเรียงรอบแผนภูมิตามลำดับที่กำหนด ตัวอย่างเช่นพายสำหรับ1 2 3 4คือ: คำถามที่รหัสของคุณต้องตอบคือ: แผนภูมิวงกลมมีการแบ่งออกเป็นสองส่วนหรือไม่? นั่นคือมีเส้นตรงที่สมบูรณ์แบบจากด้านหนึ่งของวงกลมไปยังอีกด้านหนึ่งหรือไม่โดยแยกออกเป็นสองส่วนหรือไม่? คุณจำเป็นต้องส่งออกtruthyค่าถ้ามีอย่างน้อยหนึ่งเส้นแบ่งครึ่งและเอาท์พุทfalsyค่าถ้ามีผู้ใด ใน1 2 3 4ตัวอย่างมีการแบ่งระหว่าง4 1และ2 3ดังนั้นผลลัพธ์จะเป็นความจริง แต่สำหรับอินพุท1 2 3 4 5นั้นไม่มีไบเซอร์เรเตอร์ดังนั้นเอาต์พุตจะเป็นเท็จ: ตัวอย่างเพิ่มเติม การจัดเรียงตัวเลขต่างกันอาจลบเส้นแบ่งครึ่ง เช่น2 1 3 4→ falsy: หากมีเพียงหนึ่งหมายเลขเท่านั้นในรายการอินพุตวงกลมจะไม่ถูกแบ่งออก เช่น10→ falsy: อาจมีหลายเส้นแบ่งครึ่ง ตราบใดที่มีมากกว่าศูนย์ผลลัพธ์ก็จะเป็นจริง เช่น6 6 12 12 12 11 1 12→ความจริง: (มี …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

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

30
StringgnirtSStringgnirtSStringgnirtS
นี่คือความท้าทายที่ค่อนข้างง่ายสำหรับคุณ กำหนดสตริงที่มีความยาวNส่งออกสตริงไปข้างหน้าจากนั้นย้อนกลับแล้วไปข้างหน้าจากนั้นย้อนกลับ ... เป็นต้นNครั้ง ตัวอย่างเช่นถ้าข้อมูลของคุณเป็น Hello! คุณควรส่งออก: Hello!!olleHHello!!olleHHello!!olleH คุณยังสามารถเลือกที่จะออกบรรทัดใหม่หนึ่งบรรทัด การส่งของคุณอาจเป็นได้ทั้งโปรแกรมเต็มหรือฟังก์ชั่นและคุณอาจต้องใช้เวลาเข้าและส่งออกในรูปแบบที่เหมาะสม ตัวอย่างเช่นคุณอาจใช้ IO จาก STDIN / STDOUT อาร์กิวเมนต์ของฟังก์ชันและค่าส่งคืนจากไฟล์ ฯลฯ คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตจะไม่ว่างเปล่าและจะมี ASCII ที่พิมพ์ได้เท่านั้น คุณต้องส่งออกสตริงใหม่ในบรรทัดเดียว ตัวอย่างเช่นถ้าผลลัพธ์ไปยังตัวอย่างสุดท้ายคือ Hello! !olleH Hello! !olleH Hello! !olleH นี่จะไม่ใช่ทางออกที่ถูกต้อง! ต่อไปนี้เป็นกรณีทดสอบเพิ่มเติม: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

25
หล่นมันเหมือนมันร้อน
ตามที่อธิบายไว้ในคำถามนี้ : Dropsort ซึ่งออกแบบโดย David Morgan-Mar เป็นตัวอย่างของ "อัลกอริทึมการเรียงลำดับ" แบบ linear-time ที่สร้างรายการที่จริงแล้วเรียงลำดับแล้ว แต่มีองค์ประกอบดั้งเดิมบางส่วนเท่านั้น องค์ประกอบใด ๆ ที่ไม่ได้มีขนาดใหญ่เท่ากับองค์ประกอบสูงสุดก่อนหน้านั้นจะถูกลบออกจากรายการและทิ้งไป หากต้องการใช้หนึ่งในกรณีทดสอบของพวกเขาอินพุตของ{1, 2, 5, 4, 3, 7}อัตราผลตอบแทน{1, 2, 5, 7}เป็น4และ3มีทั้งที่ปรับตัวลดลงเป็นขนาดเล็กกว่าก่อนหน้านี้ "เรียง" 5ค่า เราไม่ต้องการอัลกอริทึม "การเรียงลำดับ" เราต้องการให้มันเป็นข้อตกลงที่แท้จริง ดังนั้นฉันต้องการให้คุณเขียนโปรแกรมที่ให้รายการตัวเลขแสดงรายการของรายการ DropSorted (เพื่อเป็นอัลกอริธึมการเรียงลำดับที่สมบูรณ์เราจะต้องรวมรายการเหล่านี้ แต่ การรวมรายการที่เรียงสองรายการก่อนหน้านี้และ การขอให้คุณทำอีกครั้งเป็นการถามคำถามสองคำถามดังนั้นคำถามนี้เป็นขั้นตอน "แยก" ของ DropSort ที่สมบูรณ์ของเราโดยเฉพาะ) อย่างไรก็ตามการจัดเรียงและเนื้อหาของรายการของเราเป็นสิ่งสำคัญ ผลลัพธ์ของโปรแกรมของคุณจะต้องเทียบเท่ากับผลลัพธ์ของ DropSort ตามด้วย DropSort ของค่าที่ถูกทิ้งและอื่น ๆ จนกว่าคุณจะมีรายการของ chain เรียงลำดับเท่านั้น อีกครั้งให้ยืมชุดทดสอบที่มีอยู่ …

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