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

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

4
บรรจุไม้ชิ้น
มีไม้สองชิ้น ทั้งสองประกอบด้วยตัวตรงและบล็อคเสริมบางส่วนใต้ร่างกาย ตัวอย่างชิ้นส่วนที่มีบล็อกเพิ่มเติมที่ตำแหน่ง (0 ที่จัดทำดัชนีไว้) ตำแหน่ง 0,4,7,9,10: XXXXXXXXXXX X X X XX ชิ้นส่วนสามารถแสดงเป็น01ลำดับเลขฐานสองที่มีiอักขระ th แสดงว่ามีบล็อกที่iตำแหน่ง th 10001001011ตัวอย่างด้านบนสามารถแสดงเป็น เราสามารถรวมสองชิ้นเข้าด้วยกันโดยการพลิกชิ้นที่สองในแนวตั้ง (และอาจพลิกในแนวนอนด้วย) หลังจากการพลิกเราสามารถหาการจัดตำแหน่งที่สามารถรวมสองชิ้นเข้าด้วยกันเพื่อให้มีความสูง 3 Two example pieces: XXXXXXXXXXX XXXXXXXX X X X XX XXX Second piece flipped vertically and horizontally: XXXXXXXXXXX X X X XX XXX XXXXXXXX Pieces put together: XXXXXXXXXXX XXXXX X …

5
กำหนดขนาดของสี่เหลี่ยมผืนผ้าที่หมุน
ตัวอย่างสแต็กนี้วาดสี่เหลี่ยมสีขาวที่มีนามแฝงบนพื้นหลังสีดำที่กำหนดพารามิเตอร์สำหรับขนาดตำแหน่งมุมและขนาดกริด: <style>html *{font-family:Consolas,monospace}input{width:24pt;text-align:right;padding:1px}canvas{border:1px solid gray}</style><p>grid w:<input id='gw' type='text' value='60'> grid h:<input id='gh' type='text' value='34'> w:<input id='w' type='text' value='40'> h:<input id='h' type='text' value='24'> x:<input id='x' type='text' value='0'> y:<input id='y' type='text' value='0'> θ:<input id='t' type='text' value='12'>° <button type='button' onclick='go()'>Go</button></p>Image<br><canvas id='c'>Canvas not supported</canvas><br>Text<br><textarea id='o' rows='36' cols='128'></textarea><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>function toCart(t,a,n,r){return{x:t-n/2,y:r/2-a}}function vtx(t,a,n){return{x:n.x+t*Math.cos(a),y:n.y+t*Math.sin(a)}}function sub(t,a){return{x:t.x-a.x,y:t.y-a.y}}function dot(t,a){return t.x*a.x+t.y*a.y}function inRect(t,a,n,r){var …

1
กำหนดเวลาหยุด 4 ทิศทาง
มีรถยนต์หลายคันเรียงกันที่ป้ายหยุดรถ 4 ทิศทางที่รอดำเนินการต่อ ทุกคนสับสนว่าใครจะไปต่อใครจะไปทางไหน ฯลฯ เห็นได้ชัดว่าไม่ดี งานของคุณคือกำหนดเวลาการรับส่งข้อมูลที่ป้ายหยุดในแบบที่ดีที่สุด คุณได้รับเป็นคำขอเข้าสาย 4 ของคำขอเลี้ยวหนึ่งอันสำหรับแต่ละทิศทางของทั้งสี่ทิศทาง แต่ละคำขอมีทั้งLซ้ายขวาSหรือRขวา LLSLRLS SSSRRSRLLR LLRLSR RRRLLLL แถวแรกคือแถวที่ทางเข้าทิศเหนือถึงสี่แยก รถคันแรกในแนวต้องการเลี้ยวซ้าย (นั่นคือออกจากตะวันออก) แถวถัดมาเป็นทางเข้าตะวันออก, ใต้และตะวันตก ดังนั้นรถคันแรกที่มาจากทางตะวันตกต้องการที่จะออกจากทางทิศใต้ การจราจรเคลื่อนที่เป็นขั้นตอน ในแต่ละขั้นตอนคุณต้องเลือกชุดย่อยของรถยนต์ที่ส่วนหัวของเส้นเพื่อดำเนินการต่อ รถยนต์ที่เลือกต้องไม่รบกวนซึ่งกันและกัน รถสองคันรบกวนถ้าพวกเขาออกจากทิศทางเดียวกันหรือถ้าพวกเขาต้องข้ามเส้นทางของกันและกัน (กำหนดกฎการขับขี่ทางขวามือมาตรฐาน) ดังนั้นรถสองคันที่ตรงกันข้ามซึ่งทั้งคู่ปรารถนาจะไปทางตรงอาจไปในขั้นตอนเดียวกัน ดังนั้นรถ 4 คันทุกคนอาจต้องการเลี้ยวขวา รถสองฝั่งตรงข้ามทั้งคู่สามารถเลี้ยวซ้ายพร้อมกันได้ งานของคุณคือการจัดตารางทางแยกในขั้นตอนต่อเนื่องขั้นต่ำ สำหรับแต่ละขั้นตอนให้ส่งสัญญาณออกตามทิศทางเข็มทิศของรถยนต์ที่เข้ามา สำหรับตัวอย่างข้างต้นกำหนดการน้อยที่สุดคือ 14 ขั้นตอน กำหนดการขั้นต่ำหนึ่งอย่างคือ: N [L from North] E [S from East] E [S from East] E …
14 code-golf 

1
เชื่อมต่อช่องว่างด้วยชิ้น Tetris
คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดรายการบล็อกเตตริสเป็นเอาท์พุทอินพุตหรือคืนช่องว่างที่ใหญ่ที่สุดระหว่างสองจุดในระดับความสูงเดียวกันซึ่งชิ้นส่วนสามารถเชื่อมต่อได้ ชิ้นเตตริส 7 ประเภทดังต่อไปนี้: เราจะอ้างถึงชิ้นส่วนเหล่านี้ด้วยตัวอักษร I, J, L, O, S, T และ Z ตามลำดับโดยอ้างอิงถึงรูปร่างของพวกเขา คุณสามารถหมุนชิ้นส่วนได้ แต่ไม่สามารถสะท้อนได้เหมือนในเกม Tetris งานของเราคือการสร้างพื้นที่เชื่อมต่อ orthogonally (ด้านที่เชื่อมต่อกับด้านข้าง) จากชิ้นส่วนที่กำหนด พื้นที่นี้ควรเชื่อมต่อ (เป็นมุมฉาก) สองหน่วยสี่เหลี่ยมซึ่งมีความสูงเท่ากัน เราควรหาช่องว่างที่ใหญ่ที่สุดที่เป็นไปได้ระหว่างสองช่องที่เราสามารถเชื่อมได้ ตัวอย่างรายละเอียด ด้วยชิ้น L เราสามารถเชื่อมต่อช่องว่าง 3 L XLLLX ด้วยชิ้นส่วน S เราสามารถเชื่อมต่อช่องว่าง 2 SS XSSX ด้วยชิ้นส่วน S, S, O เราสามารถเชื่อมต่อช่องว่าง 7 (โปรดทราบว่าเราไม่สามารถเชื่อมต่อช่องว่าง 8) S XSSOO SSX SOOSS …
14 code-golf  tetris 

4
เคล็ดลับสำหรับการเล่นกอล์ฟใน LOLCODE
คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟใน LOLCODE อย่างไร ฉันกำลังมองหาแนวคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะ LOLCODE (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
14 code-golf  tips 

12
แยกเป็นตัวเลขเข้าร่วมเป็นสตริงทำซ้ำ
พิจารณากระบวนการ: การที่ไม่ใช่เชิงลบจำนวนเต็ม N. เช่น 27 แยกมันออกเป็นจำนวนเต็มN - floor(N/2)และfloor(N/2)(ครึ่ง 'ใหญ่กว่า' และ 'เล็กกว่า') แล้วเขียนตามลำดับนั้น เช่นจะกลายเป็น2714 13 การลบพื้นที่เพื่อเข้าร่วมจำนวนเต็มเป็นจำนวนเต็มใหม่ที่มีขนาดใหญ่กว่ามาก เช่นจะกลายเป็น14 131413 ทำซ้ำขั้นตอนที่ 2 และ 3 ตามจำนวนครั้งที่ต้องการ เช่น1413→การ707 706→การ707706→การ353853 353853→การ353853353853→การ ... ความท้าทายนี้เกี่ยวกับการทำสิ่งนี้ แต่ไม่เสมอไปในฐาน 10 ท้าทาย เขียนโปรแกรมที่ใช้ตัวเลขสามตัวคือ B, N และ S: B เป็นจำนวนเต็มตั้งแต่ 2 ถึง 10 ซึ่งเป็นฐานของ N (ไบนารีถึงทศนิยม) N เป็นจำนวนเต็มแบบไม่ลบเพื่อใช้กระบวนการแยกเข้าร่วม เพื่อให้การป้อนข้อมูลของผู้ใช้ง่ายขึ้นจะได้รับเป็นสตริงในฐาน B ไม่ใช่จำนวนเต็ม S เป็นจำนวนเต็มที่ไม่เป็นลบที่เป็นจำนวนครั้งที่จะทำซ้ำกระบวนการแยกเชื่อมต่อ …

1
ปัญหาสิบสองเหรียญ
พื้นหลัง ปัญหาสิบสองเหรียญเป็นปริศนาสมดุลแบบคลาสสิคที่ใช้กันทั่วไปในการสัมภาษณ์งาน ปริศนาปรากฏตัวครั้งแรกในปีพ. ศ. 2488 และปู่ของฉันถูกพ่อของฉันวางไว้เมื่อเขาขอแต่งงานกับแม่ของฉัน! ในจิ๊กซอว์มีสิบสองเหรียญซึ่งหนึ่งในนั้นคือหนักหรือเบากว่าคนอื่น ๆ (คุณไม่ทราบว่า) ปัญหาคือการใช้เครื่องชั่งสมดุลสามครั้งเพื่อตรวจสอบเหรียญที่ไม่ซ้ำกัน ในบางรูปแบบจำเป็นต้องระบุว่าเหรียญนั้นหนักหรือเบา งานที่นี่เกี่ยวข้องกับการแก้ปัญหาทั่วไปที่เกี่ยวข้องกับเหรียญnโดยใช้การชั่งน้ำหนักน้อยที่สุดในกรณีที่เลวร้ายที่สุด ไม่จำเป็นต้องระบุว่าเหรียญนั้นหนักหรือเบาเพียงแค่เหรียญเดียวเท่านั้น นอกจากนี้คุณไม่สามารถเข้าถึงเหรียญเพิ่มเติมใด ๆ ที่อยู่นอกชุดที่กำหนด (ซึ่งอยากรู้อยากเห็นสร้างความแตกต่าง) ปรากฎว่าการชั่งน้ำหนัก k เพียงพอสำหรับเหรียญมากถึง (3 ^ k-1) / 2 (ดังนั้นการชั่งน้ำหนัก 4 แบบในรูปแบบนี้สามารถจัดการได้ 13 เหรียญ) ยิ่งไปกว่านั้น (และน่าประหลาดใจ) มันเป็นไปได้ (แต่ไม่จำเป็นที่นี่) เพื่อเลือกชุดการชั่งน้ำหนักล่วงหน้าล่วงหน้าแทนที่จะมีการชั่งน้ำหนักในอนาคตขึ้นอยู่กับผลลัพธ์ที่ผ่านมา สำหรับคำอธิบายของวิธีแก้ปัญหาสองวิธีที่เป็นไปได้ดูที่เอกสารนี้และคำตอบของ Quoraนี้ งาน เขียนฟังก์ชั่นหรือโปรแกรมโดยใช้จำนวนเต็มnเป็นอินพุตผ่าน STDIN อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันซึ่งแก้ปัญหาสำหรับเหรียญnโดยใช้การชั่งน้ำหนักน้อยที่สุดในกรณีที่เลวร้ายที่สุด โปรแกรมควร: พิมพ์การชั่งน้ำหนักไปที่ STDOUT ในรูปแบบ1,2,3-4,5,6เพื่อระบุรายการเหรียญในแต่ละด้านของเครื่องชั่ง ไม่ควรพูดถึงเหรียญที่ไม่ได้ชั่งน้ำหนัก เหรียญจะถูกกำหนดหมายเลขโดยนัยจาก 1 ถึงnและไม่จำเป็นต้องพิมพ์ตามลำดับตัวเลข (เช่น2,1-3,4เดียวกับ1,2-3,4) …

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

13
ค่าที่ใหญ่ที่สุดและน้อยที่สุดจากจำนวนเต็มที่ตัดแบ่ง
ปัญหานี้เกิดจากปัญหาการเขียนโปรแกรมห้าปัญหาวิศวกรซอฟต์แวร์ทุกคนควรจะสามารถแก้ไขได้ในเวลาน้อยกว่า 1 ชั่วโมงซึ่งตัวมันเองนั้นน่าสนใจในการอ่าน ปัญหาสองสามข้อแรกนั้นเล็กน้อย แต่ปัญหาที่สี่นั้นน่าสนใจกว่าเล็กน้อย รับรายการจำนวนเต็มคั่นด้วยช่องว่างเดียวบนอินพุตมาตรฐานพิมพ์ค่าที่ใหญ่ที่สุดและน้อยที่สุดที่สามารถรับได้โดยการเชื่อมต่อจำนวนเต็มเข้าด้วยกันในบรรทัดของตนเอง ตัวอย่างเช่น: การป้อนข้อมูล: 5 56 50 เอาท์พุท: 50556 56550 จุดสั่งซื้อต่างๆ: ลำดับของผลลัพธ์นั้นเล็กที่สุดแล้วก็ใหญ่ที่สุด เฉพาะค่าที่เล็กที่สุดและใหญ่ที่สุดเท่านั้นที่สามารถพิมพ์ออกมาได้ (การวนซ้ำในรูปแบบทั้งหมดและการพิมพ์ออกมานั้นไม่ถูกต้อง) จะมีจำนวนเต็มสองตัวหรือมากกว่าในรายการ เป็นไปได้สำหรับผลลัพธ์ที่ใหญ่ที่สุดและเล็กที่สุดเหมือนกัน ในกรณีของการป้อนข้อมูลควรพิมพ์5 55หมายเลข555สองครั้ง จำนวนเต็มไม่จำเป็นต้องชัดเจน 5 5เป็นอินพุตที่ถูกต้อง การนำหน้า0s บนจำนวนเต็มไม่ใช่อินพุตที่ถูกต้อง คุณจะไม่05 55จำเป็นต้องบัญชี เช่นนี้เป็นรหัสกอล์ฟรายการที่สั้นที่สุดชนะ
14 code-golf  number 

4
วาดการเดินสุ่มด้วยสแลช
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N (ผ่าน stdin / command line / function arg) และพิมพ์หรือคืนค่าการแทนค่าสตริงของการเดินแบบสุ่มสองมิติที่มีความยาว N ก้าวยาวออกจากสแลช: / \(บวกช่องว่างและ บรรทัดใหม่สำหรับการเว้นวรรค) 2 มิติเดินสุ่มเริ่มต้นที่ต้นกำเนิดของอนันต์ขัดแตะจำนวนเต็ม จากนั้น N คูณซ้ำ ๆ ทิศทางที่สำคัญ (ขึ้น, ลง, ซ้าย, ขวา) จะถูกเลือกอย่างสม่ำเสมอโดยการสุ่มและวอล์คเกอร์เคลื่อนที่หนึ่งหน่วยในทิศทางนั้น เส้นทางที่เกิดขึ้นคือการเดินแบบสุ่ม นี่คือการเดินแบบสุ่มสำหรับ N = 6 โปรดสังเกตว่ามันเคลื่อนที่ย้อนกลับไปที่ตัวเองเมื่อถึง (-1, 3) ในการวาดด้วยสแลชเราต้องหมุนทั้งหมดตามเข็มนาฬิกา 45 ° แกนและจุดเริ่มต้นและจุดสิ้นสุดไม่ถูกวาดในเวอร์ชันสแลช / \ \ /\ การเดินที่ซับซ้อนมากขึ้นเช่นนี้ (N = 20 แม้ว่าจะไม่มีทางบอก): จะกลายเป็นสิ่งนี้: …

8
เคล็ดลับการตีกอล์ฟในพื้นที่ว่าง
คุณมีเคล็ดลับอะไรสำหรับการเล่นกอล์ฟใน Whitespace? ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะเจาะจงกับช่องว่าง (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ

1
ค้นหาสมมาตรในกำลังสอง
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวก จำนวนเต็มแต่ละจำนวนเหล่านี้แสดงความยาวด้านของสี่เหลี่ยมจัตุรัสบนระนาบ 2D แต่ละสี่เหลี่ยมสามารถเคลื่อนย้ายไปยังพิกัดจำนวนเต็มใด ๆ ในระนาบ แต่มันไม่สามารถหมุนได้และไม่สามารถซ้อนทับสี่เหลี่ยมอื่น ๆ ได้ การใช้อักขระ ASCII ที่พิมพ์ได้ที่แตกต่างกันสำหรับแต่ละตาราง (ไม่รวมพื้นที่ซึ่งใช้สำหรับความว่างเปล่า) โปรแกรม / ฟังก์ชันของคุณจำเป็นต้องพิมพ์การจัดเรียงสี่เหลี่ยมจัตุรัสใด ๆ ที่มีเส้นแนวนอนหรือแนวตั้งของสมมาตรสะท้อน หากไม่มีข้อตกลงดังกล่าวอยู่ก็ไม่ควรพิมพ์สิ่งใด สี่เหลี่ยมเป็นตัวละครที่แตกต่างกันเพื่อให้พวกเขาสามารถแยกออกจากกัน เฉพาะรูปร่างที่ทำโดยสหภาพของสี่เหลี่ยมทั้งหมดจะต้องมีความสมมาตร คุณสามารถสันนิษฐานได้ว่ารายการจะไม่มีองค์ประกอบมากกว่า 94 องค์ประกอบ (เนื่องจากมี 94 ตัวอักษร) ตัวอย่างเช่นถ้าอินพุต[2, 1, 2, 2, 2]เป็นเอาต์พุตที่เป็นไปได้คือ: DD-- DD-- Z FFPP FFPP รูปร่างนี้มีเส้นแนวนอนของสมมาตรการสะท้อนแสง ครึ่งบนและล่างของมันเป็นภาพสะท้อน นี่คือความเป็นไปได้อื่น ๆ : (โปรดทราบว่าช่องสี่เหลี่ยมไม่จำเป็นต้องสัมผัสและสามารถใช้อักขระใด ๆ ได้ตราบใดที่ไม่มีช่องสี่เหลี่ยมสองช่องที่สร้างด้วยอักขระตัวเดียวกัน) 55 55 %% %% @ …

7
การเรียงตาราง 2 ^ N คูณ 2 ^ N ด้วย Trominoes รูปตัว L
เมื่อนักเรียนได้รับการสอนครั้งแรกเกี่ยวกับเทคนิคการพิสูจน์การอุปนัยทางคณิตศาสตร์ตัวอย่างทั่วไปคือปัญหาของการเรียงตัวกันของตาราง 2 N × 2 N ที่มีรูปตัวTrominoesรูปตัว L ทิ้งไว้หนึ่งช่องว่างที่กำหนดไว้ล่วงหน้า (N เป็นจำนวนเต็มที่ไม่ใช่ค่าลบ) ฉันจะปล่อยให้คุณข้ามไปพิสูจน์ถ้าคุณยังไม่รู้ มีทรัพยากรมากมายที่กล่าวถึง งานของคุณที่นี่คือการเขียนโปรแกรมที่รับค่า N รวมถึงพิกัดของพื้นที่กริดเพื่อปล่อยให้ว่างเปล่าและพิมพ์การแทนค่า ASCII ของกริด tromino ที่เป็นผลลัพธ์ ตัวละครOจะเติมเต็มพื้นที่ว่างและการหมุนของ tromino ของเราทั้ง 4 จะมีลักษณะดังนี้: | +- | -+ -+ | +- | (ใช่มันอาจจะไม่ชัดเจนที่+จะไปกับที่-และ|สำหรับการเตรียมการบางอย่าง แต่ที่ ok.) โปรแกรมของคุณจะต้องทำงานกับ N = 0 (สำหรับ 1 × 1 grid) อย่างน้อย N = 8 (สำหรับ …

3
เลิกรวมรายการ
บทนำ พวกคุณส่วนใหญ่คุ้นเคยกับอัลกอริทึมการเรียงแบบผสานสำหรับการเรียงลำดับรายการตัวเลข เป็นส่วนหนึ่งของอัลกอริทึมหนึ่งเขียนฟังก์ชันตัวช่วยที่เรียกmergeว่ารวมสองรายการที่เรียงลำดับไว้ในรายการที่เรียงลำดับหนึ่ง ใน pseudocode คล้าย Python ฟังก์ชั่นมักจะมีลักษณะดังนี้: function merge(A, B): C = [] while A is not empty or B is not empty: if A is empty: C.append(B.pop()) else if B is empty or A[0] ≤ B[0]: C.append(A.pop()) else: C.append(B.pop()) return C ความคิดที่จะให้ popping ขนาดเล็กขององค์ประกอบแรกของAและจนทั้งสองรายการที่ว่างเปล่าและรวบรวมผลการลงไปB Cถ้าAและมีทั้งที่เรียงแล้วเพื่อให้เป็นBC ตรงกันข้ามถ้าCเป็นรายการที่เรียงลำดับและเราแยกมันออกเป็นสอง subsequences AและBแล้วAและยังมีการเรียงลำดับและB …

4
การเขียนโปรแกรมแบบเกลียว
เขียนฟังก์ชั่นที่มีชื่อหรือโปรแกรมที่รับจำนวนเต็ม N ตัวเดียวและพิมพ์ (ไปยัง STDOUT) หรือส่งคืน (เป็นสตริง) แถบ N แรกของเกลียวด้านล่างเริ่มต้นด้วยแถบแนวตั้งตรงกลางและหมุนวนตามเข็มนาฬิกาออกไปด้านนอก _______________ / _____________ \ / / ___________ \ \ / / / _________ \ \ \ / / / / _______ \ \ \ \ / / / / / _____ \ \ \ \ \ / / / / …

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