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

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

2
ติดตั้ง QuickSort ใน BrainF *** [ปิด]
ตามที่กล่าวไว้ในห้องเลานจ์ของ Stack Overflow: หากคุณไม่สามารถใช้อัลกอริทึม Quicksort ที่กำหนด en.wikipedia.org/wiki/Quicksort ในภาษาใด ๆ ที่คุณมีความรู้น้อยที่สุดคุณอาจต้องการพิจารณาอาชีพอื่น @sbi แต่ SBI ยังตั้งข้อสังเกตว่า BrainF *** อาจเป็นข้อยกเว้น ดังนั้นนี่คือปริศนา / ความท้าทาย: ใช้ QuickSort ในBrainF *** การดำเนินการจะต้อง ถูกตีความโดยสิ่งนี้และ / หรือโดยล่ามที่นี่ (สำหรับสคริปต์ขนาดใหญ่) ใช้อัลกอริทึมตามที่อธิบายไว้ใน Wikipedia - ถ้าเป็นไปได้เป็นการเรียงลำดับ จัดเรียงรายการจำนวนเต็มต่อไปนี้: [0,4,6,4,2,3,9,2,3,6,5,3] และพิมพ์ผลลัพธ์

6
จัดเรียงตำรา
จัดเรียงตำรา โรงเรียนจะเริ่มเร็ว ๆ นี้ (ถ้ายังไม่ได้ดำเนินการ) และถึงเวลาที่จะต้องสั่งหนังสือเรียนของเรา คุณต้องเรียงลำดับหนังสือตามลำดับตัวอักษร แต่ใช้เวลานานเกินไปคุณจึงตัดสินใจเขียนโปรแกรมเพื่อทำมัน ตัวอย่าง การป้อนข้อมูล: _ | | _ |F| | | |o|_|P| |o|B|P| | |a|C| | |r|G| |_|_|_| เอาท์พุท: _ | |_ |F| | _|o|P| |B|o|P| |a| |C| |r| |G| |_|_|_| อินพุต ข้อมูลที่ป้อนจะเป็นชุดหนังสือที่ต้องจัดเรียงตามตัวอักษรใหม่ มันจะมีเพียง: |, _, และ A-Za-zชื่อหนังสือถูกอ่านในแนวตั้งและบนล่าง คุณอาจเลือกที่จะสมมติว่าอินพุตนั้นถูกเติมด้วยช่องว่างเพื่อให้พอดีกับสี่เหลี่ยม หากคุณเลือกที่จะใส่เบาะด้วยช่องว่างโปรดระบุสิ่งนี้ในคำตอบของคุณ ความสูงของหนังสือสูงสุดที่โปรแกรมของคุณจะต้องจัดการมีความสูง 5,120 บรรทัดโดยไม่ล้มเหลว หนังสือจะมีความหนา …

30
ผลรวมของพลังของ 2
ความท้าทาย ได้รับการป้อนข้อมูลจำนวนเต็มxที่กลับผลของผู้มีอำนาจของทั้งสองว่าเมื่อสรุปให้1 <= x <= 255x ตัวอย่าง รับอินพุต: 86 โปรแกรมของคุณควรส่งออก: 64 16 4 2 การป้อนข้อมูล: 240 เอาท์พุท: 128 64 32 16 การป้อนข้อมูล: 1 เอาท์พุท: 1 การป้อนข้อมูล: 64 เอาท์พุท: 64 เอาท์พุทอาจมีค่าศูนย์ถ้ากำลังสองที่ไม่ได้อยู่ในผลรวม ยกตัวอย่างเช่นการป้อนข้อมูลการส่งออกเดือนพฤษภาคม650 64 0 0 0 0 0 1 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

20
ฟาโรสับเปลี่ยนอาเรย์
ฟาโรสับเปลี่ยนเป็นเทคนิคที่ใช้บ่อยโดยนักมายากลที่ "สับ" ดาดฟ้า เพื่อทำการสับไพ่แบบแฟโรคุณต้องตัดเด็คเป็น 2 ส่วนเท่ากันก่อน ตัวอย่างเช่น [1 2 3 4 5 6 7 8] แฟโรสับเป็น [1 5 2 6 3 7 4 8] สามารถทำซ้ำได้หลายครั้ง น่าสนใจพอถ้าคุณทำซ้ำครั้งนี้มากพอคุณจะกลับมาที่อาร์เรย์เดิมเสมอ ตัวอย่างเช่น: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  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 

8
เรียงลำดับ James Bond เหล่านี้
บทนำ คุณปู่ของฉันเป็นแฟนตัวยงของเจมส์บอนด์ แต่เขาก็ไม่แน่ใจในการจัดอันดับนักแสดงที่เขาชื่นชอบอยู่เสมอ เช่นนี้เขามักจะทำรายการซึ่งเป็นงานจำนวนมาก เขาขอให้ฉันสร้างโปรแกรมที่จะทำให้ชีวิตของเขาง่ายขึ้น แต่ฉันไม่มีเวลาสำหรับเรื่องนั้นฉันต้องทำงาน! ดังนั้นฉันจะไว้ใจพวกคุณ ท้าทาย ความท้าทายนั้นง่าย อินพุตจะประกอบด้วยรายการในรูปแบบต่อไปนี้: <number> <space> <actor's name> <newline> งานของคุณคือการจัดเรียงตามหมายเลขที่จุดเริ่มต้นของบรรทัดเริ่มจากสุดท้ายและลงท้ายด้วยบรรทัดแรก ควรลบหมายเลขทั้งหมด อย่างไรก็ตามบางครั้งคุณปู่ของฉันทำผิดพลาด ดังนั้นคุณจะต้องตรวจสอบข้อมูล หากหนึ่งในรายชื่อไม่ได้อ้างถึงนักแสดงคนใดคนหนึ่งที่เล่นบอร์นคุณต้องยกเลิกมัน ในกรณีของการทำซ้ำควรลบซ้ำและชื่อควรรักษาน้ำหนักต่ำสุดที่เกี่ยวข้อง (ตัวอย่าง # 3) ไม่มีการ จำกัด จำนวนบรรทัดที่อาจมี ผลลัพธ์จะต้องเป็นรายการของการเรียงลำดับบางอย่างไม่ว่าจะเป็นอาร์เรย์สตริงที่คั่นด้วยเครื่องหมายจุลภาคเพียงแค่ค่าคั่นด้วยช่องว่างหรืออย่างอื่นทั้งหมดเช่น Pierce Brosnan, Sean Connery, David Niven ขึ้นบรรทัดใหม่หรือช่องว่างที่ได้รับอนุญาต ตัวอย่างอินพุตและเอาต์พุต การป้อนข้อมูล: 1 ฌอนคอนเนอรี่ 2 เอ็มม่าวัตสัน 5 ทิโมธีดัลตัน 4 โรเจอร์มัวร์ 3 Daniel Craig เอาท์พุท: Timothy …

8
เห็นภาพจัดเรียงผสาน
Merge sortเป็นอัลกอริทึมการเรียงลำดับที่ทำงานโดยแยกรายการที่กำหนดเป็นครึ่งแล้วทำการเรียงลำดับซ้ำทั้งรายการเล็ก ๆ และรวมกลับเข้าด้วยกันเป็นหนึ่งรายการเรียงลำดับ เคสพื้นฐานของการเรียกซ้ำจะมาถึงรายการเดี่ยวซึ่งไม่สามารถแยกได้อีกต่อไป แต่เรียงตามนิยามแล้ว การดำเนินการของอัลกอริทึมในรายการ[1,7,6,3,3,2,5]สามารถมองเห็นได้ด้วยวิธีดังต่อไปนี้: [1,7,6,3,3,2,5] / \ split [1,7,6,3] [3,2,5] / \ / \ split [1,7] [6,3] [3,2] [5] / \ / \ / \ | split [1] [7] [6] [3] [3] [2] [5] \ / \ / \ / | merge [1,7] [3,6] [2,3] [5] \ …

30
สามเหลี่ยม ASCII
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์รูปสามเหลี่ยม ASCII พวกเขามีลักษณะเช่นนี้: |\ | \ | \ ---- โปรแกรมของคุณจะมีการป้อนข้อมูลที่เป็นตัวเลขเดียวกับข้อ จำกัดn สามเหลี่ยมดังกล่าวข้างต้นมีมูลค่าของ0 <= n <= 1000n=3 สามเหลี่ยม ASCII จะมีnแบ็กสแลช ( \) และบาร์แนวตั้ง ( |), n+1เส้นและขีดกลาง ( -) และแต่ละบรรทัดจะมีจำนวนช่องว่างเท่ากับหมายเลขบรรทัด (อิงตาม 0, คือบรรทัดแรกคือบรรทัดที่ 0) นอกเหนือจากบรรทัดสุดท้าย . ตัวอย่าง: การป้อนข้อมูล: 4 เอาท์พุท: |\ | \ | \ | \ ----- การป้อนข้อมูล: 0 เอาท์พุท: ในกรณีทดสอบนี้ผลลัพธ์จะต้องว่างเปล่า …
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

8
เปราะบาง Quine
เปราะบาง Quine Quine ที่เปราะบางเป็นควินที่ตอบสนองต่อคุณสมบัติของการมีสตริงย่อยแต่ละอันโดยการลบอักขระเดียวเมื่อประเมินแล้วจะเกิดข้อผิดพลาด ตัวอย่างเช่น. หากโปรแกรมของคุณasdfเป็นแบบ quine หากโปรแกรมนั้นมีความเปราะบางโปรแกรมต่อไปนี้จะต้องเกิดข้อผิดพลาด: sdf adf asf asd โปรแกรมของคุณ (และสตริงย่อยทั้งหมด) จะต้องกำหนดอย่างเต็มที่และต้องเป็นภาษาเดียวกัน โปรแกรมที่เข้าสู่วงวนไม่สิ้นสุด (นั่นคือล้มเหลวในการยกเลิก) แม้ว่าจะไม่ได้ผลิตข้อผิดพลาดในที่สุดก็ถือเป็น "ผลิตข้อผิดพลาด" สำหรับวัตถุประสงค์ของการท้าทายนี้ มีช่องโหว่มาตรฐานที่ใช้รวมถึงข้อ จำกัด quine ปกติ (เช่นไม่สามารถอ่านซอร์สโค้ดของตัวเอง) ตัวอย่างเช่นprint("foo")ไม่บอบบาง สตริงย่อยทั้งหมดเหล่านี้ต้องมีข้อผิดพลาด: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" สิ่งที่ไม่ผิดพลาดคือ: print("oo") print("fo") print("fo") ดังนั้นจึงไม่บอบบาง หมายเหตุสำคัญเกี่ยวกับการทดสอบ ด้วยความเห็นพ้องต้องกันว่าควินินที่เป็นไปได้จะต้องตอบสนองสิ่งนี้: จะต้องสามารถระบุส่วนของโปรแกรมที่เข้ารหัสส่วนต่าง ๆ ของโปรแกรม ("แตกต่าง" …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

29
สตริงสอดแทรก
แรงบันดาลใจ * ฉันไม่อยากเชื่อว่าเราไม่เคยมีความท้าทายนี้มาก่อน: งาน กำหนดสตริง ASCII ที่พิมพ์ได้หนึ่งหรือมากกว่าให้สอดแทรกโดยใช้อักขระหนึ่งตัวจากแต่ละสตริงจนกระทั่งครบจำนวนอักขระ หากสตริงไม่มีอักขระอยู่ก่อนอักขระอื่นให้ข้ามสตริงนั้นไปก่อน ตัวอย่าง SIMPLE จะช่วยให้ SIMPLE POLLSและEPEESให้PEOPLELESS LYESและAPRONSให้LAYPERSONS ABCDEและa cและ123 567ให้Aa1B 2Cc3D E567 "\n$?*และ​(สตริงว่าง) และ,(.)" (พื้นที่ต่อท้าย) ให้",\(n.$)?"* (พื้นที่ต่อท้าย) * มีโซลูชั่น APL ที่สั้นกว่า

17
แสดงคะแนนความคิดเห็นห้าอันดับแรกใน SE Post
สแต็กแลกเปลี่ยนสคริปต์กำหนดความคิดเห็นห้าข้อสำหรับคำถามหรือคำตอบในตอนแรกที่เห็นบนหน้าหลักของเว็บไซต์ผ่านจำนวน upvotes ที่พวกเขา; ห้าความคิดเห็นที่มีจำนวนคะแนนสูงสุดจะปรากฏขึ้น งานของคุณคือสร้างพฤติกรรมนี้ใหม่ เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบโดยรับอินพุตผ่าน STDIN, บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและพิมพ์หรือส่งคืนคะแนนความคิดเห็นห้าอันดับแรก การป้อนข้อมูลจะเป็นอาร์เรย์ของจำนวนเต็มแทนจำนวน upvotes ในความคิดเห็นของบางโพสต์ ตัวอย่างเช่นอินพุตของ 0, 2, 5, 4, 0, 1, 0 หมายความว่าความคิดเห็นแรกไม่มีการลงคะแนนเสียงความคิดเห็นที่สองมีสองคะแนนที่สามมีห้าคะแนนที่สี่มีสี่คะแนนลำดับของคะแนนความคิดเห็นควรยังคงเหมือนเดิมในผลลัพธ์ หากอินพุตมีคะแนนข้อคิดเห็นอย่างน้อยห้าคะแนนผลลัพธ์จะไม่มีสิ่งใดเกินกว่าที่ได้รับ หากคะแนนความคิดเห็นตั้งแต่สองคะแนนขึ้นไปเหมือนกันคะแนนแรกควรปรากฏขึ้น คุณอาจสมมติว่าอาร์เรย์ข้อมูลเข้าจะมีคะแนนความคิดเห็นอย่างน้อยหนึ่งคะแนน ตัวเลขในเอาต์พุตควรแยกความแตกต่างได้ง่าย (ดังนั้น 02541 สำหรับกรณีที่ 1 ไม่ถูกต้อง) มิฉะนั้นจะไม่มีข้อ จำกัด ในรูปแบบเอาต์พุต ตัวเลขอาจคั่นด้วยช่องว่างหรือขึ้นบรรทัดใหม่หรืออาจอยู่ในรูปแบบรายการเป็นต้น กรณีทดสอบ: [0, 2, 5, 4, 0, 1, 0] -> [0, 2, 5, 4, 1] [2, 1, 1, …

17
แปลก ๆ
รับสายอักขระที่xส่งออกในการxเรียงลำดับตามลำดับของลักษณะที่ปรากฏในซอร์สโค้ดของคุณ ตัวอย่าง Source: ThisIs A Test Input: Is it a Test? Output: TissI etta? Source: Harry - yer a wizard. Input: I'm a what? Output: aa wh'?Imt Source: Mr. H. Potter, The Floor, Hut-on-the-Rock, The Sea Input: Output: กฎระเบียบ มีช่องโหว่มาตรฐาน & กฎ i / o อินพุตและเอาต์พุตสามารถเป็นสตริงรายการอักขระหรือรายการไบต์ หากมีการใช้อักขระหลายครั้งในซอร์สให้ใช้เหตุการณ์แรก หากอักขระอย่างน้อยหนึ่งตัวไม่ปรากฏในแหล่งที่มาอักขระนั้นควรอยู่ท้าย คำสั่งของพวกเขาไม่สำคัญและไม่ต้องสอดคล้องกัน แหล่งที่มาจะต้องไม่ว่างเปล่า …

26
ลูกศรตัวแปรเหล่านั้น!
ท้าทาย โรบินชอบมีการประกาศตัวแปรของเขาในรูปของลูกศร นี่คือวิธีที่เขาทำ: อินพุตสตริงจำนวนเท่าใดก็ได้ จัดเรียงตามความยาว เอาท์พุทพวกเขาสั่งจากกลางถึงรูปหัวลูกศรเชิงลบประมาณเช่นนี้ (ใดก็ตามสั่งกอล์ฟที่ดีที่สุด): 5 or 4 3 2 1 1 2 3 4 5 กรณีทดสอบ การป้อนข้อมูล: bow arrows sheriffOfNottingham kingRichard maidMarian princeJohn sherwoodForest เอาท์พุท: sheriffOfNottingham kingRichard maidMarian bow arrows princeJohn sherwoodForest การป้อนข้อมูล: a bb cc เอาต์พุต (ใช้ได้ทั้งคู่): bb a cc cc a bb การป้อนข้อมูล: one four …

8
บอกวิธีการล้มเหลว
ในฐานะนักวิทยาศาสตร์คอมพิวเตอร์คุณอาจคุ้นเคยกับการทำรายการป๊อปและพุชพื้นฐาน เหล่านี้เป็นการดำเนินการอย่างง่ายที่แก้ไขรายการองค์ประกอบ อย่างไรก็ตามคุณเคยได้ยินเรื่องการปฏิบัติการล้มเหลวบ้างไหม? (เช่นเดียวกับflip- flop )? มันค่อนข้างง่าย รับตัวเลขnให้กลับองค์ประกอบnแรกของรายการ นี่คือตัวอย่าง: >>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a.flop(4) [4, 3, 2, 1, 5, 6, 7, 8, 9, 10] สิ่งดีๆเกี่ยวกับการดำเนินการล้มเหลวคือการที่คุณสามารถใช้มันทำสิ่งบางเย็นในรายการเช่นการเรียงลำดับมัน เราจะทำสิ่งที่คล้ายกับรองเท้าแตะ: รับรายการจำนวนเต็ม "Neighbor it" กล่าวอีกนัยหนึ่งให้เรียงลำดับเพื่อให้องค์ประกอบที่ซ้ำกันปรากฏขึ้นอย่างต่อเนื่อง สามารถทำได้ด้วย flops! ตัวอย่างเช่นใช้รายการต่อไปนี้: >>> a = [3, 2, 1, 4, …

8
ทำการจัดเรียงแรงโน้มถ่วง
ท้าทาย รับรายการจำนวนเต็มแสดงวิธีจัดเรียงแรงโน้มถ่วง เรียงลำดับแรงโน้มถ่วง ในการจัดเรียงแรงโน้มถ่วงลองนึกภาพตัวเลขเป็นแถวของดอกจัน จากนั้นทุกอย่างจะตกและแถวใหม่จะถูกจัดเรียงอย่างชัดเจน ลองดูตัวอย่าง: [2, 7, 4, 6]: ** ******* **** ****** ------- ** **** ******* ****** ------- ** | 2 **** | 4 ****** | 6 ******* | 7 ขอให้สังเกตว่านี่เป็นเพียงการเรียงลำดับฟองคู่ขนาน รายละเอียดที่แน่นอน ในการวนซ้ำแต่ละครั้งเริ่มต้นจากแถวบนสุดให้ใช้เครื่องหมายดอกจันทุกอันจากแถวที่ไม่มีเครื่องหมายดอกจันอยู่ด้านล่างและเลื่อนลงมาเป็นแถว ทำต่อไปเรื่อย ๆ จนกว่าจะมีการเรียงลำดับรายการ อินพุต อินพุตจะเป็นรายการของจำนวนเต็มบวกอย่างเคร่งครัด เอาท์พุต สำหรับเอาต์พุตคุณต้องเอาต์พุตในแต่ละขั้นตอน คุณสามารถเลือกอักขระ ASCII ที่ไม่สามารถพิมพ์ได้ทั้งสองช่องว่างตัวใดตัวหนึ่งเป็น "เครื่องหมายดอกจัน" และอีกตัวหนึ่งเป็น "ขีด" แถวของเครื่องหมายดอกจันจะต้องคั่นด้วยบรรทัดใหม่มาตรฐานของการเรียงลำดับบางอย่าง (เช่น\nหรือ\r\f) …

21
สลับดัชนีและค่า
งาน เขียนโปรแกรมหรือฟังก์ชั่นซึ่งอินพุตเป็นรายการ / อาร์เรย์Xของจำนวนเต็มและเอาต์พุตเป็นรายการชุดของจำนวนเต็มYเช่นนั้นสำหรับแต่ละองค์ประกอบอีในแต่ละชุดY [ i ], X [ e ] = iและ ดังกล่าวว่าจำนวนขององค์ประกอบในชุดในYเท่ากับจำนวนขององค์ประกอบในX (นี่เป็นการดำเนินการเดียวกับการย้อนกลับ hashtable / พจนานุกรมยกเว้นนำไปใช้กับอาร์เรย์แทน) ตัวอย่าง ตัวอย่างเหล่านี้ใช้การจัดทำดัชนีแบบ 1 แต่คุณสามารถใช้การจัดทำดัชนีแบบ 0 แทนหากคุณต้องการ X Y [4] [{},{},{},{1}] [1,2,3] [{1},{2},{3}] [2,2,2] [{},{1,2,3}] [5,5,6,6] [{},{},{},{},{1,2},{3,4}] [6,6,5,5] [{},{},{},{},{3,4},{1,2}] ชี้แจง คุณอาจแสดงชุดเป็นรายการหากคุณต้องการ หากคุณทำเช่นนั้นลำดับขององค์ประกอบจะไม่สำคัญ แต่คุณไม่สามารถทำซ้ำองค์ประกอบได้ คุณสามารถใช้รูปแบบ I / O ที่ไม่น่าสงสัยอย่างสมเหตุสมผล ตัวอย่างเช่นคุณสามารถแยกองค์ประกอบของชุดที่มีช่องว่างและชุดตัวเองด้วยการขึ้นบรรทัดใหม่ Yควรจะมีความยาวที่แน่นอนและอย่างน้อยก็นานพอที่จะมีองค์ประกอบทั้งหมดของXเป็นดัชนีอาร์เรย์ อย่างไรก็ตามอาจยาวกว่าองค์ประกอบสูงสุดของX (องค์ประกอบเพิ่มเติมจะเป็นชุดว่าง) องค์ประกอบของXจะเป็นดัชนีอาร์เรย์ที่ถูกต้องเช่นจำนวนเต็มไม่เป็นลบหากคุณใช้การจัดทำดัชนีแบบ …

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