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

อัลกอริทึมเป็นลำดับขั้นตอนที่กำหนดไว้อย่างดีซึ่งกำหนดวิธีแก้ปัญหาแบบนามธรรมให้กับปัญหา ใช้แท็กนี้เมื่อปัญหาของคุณเกี่ยวข้องกับการออกแบบอัลกอริทึม

16
อัลกอริธึมที่จะสร้างพาเลตต์สีที่น่าพึงพอใจแบบสุ่ม [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังมองหาอัลกอริทึมง่าย ๆ ในการสร้างสีแบบสุ่มที่ชื่นชอบความสวยงาม ดังนั้นจึงไม่มีสีนีออนที่บ้าคลั่งสีที่ชวนให้นึกถึงอุจจาระ ฯลฯ ฉันพบวิธีแก้ไขปัญหานี้แล้ว แต่พวกเขาใช้พาเล็ตสีอื่น ๆ แทน RGB ฉันอยากจะใช้ RGB แบบตรงมากกว่าการทำแผนที่ไปมา โซลูชันอื่น ๆ เหล่านี้ยังสามารถสร้างสีแบบสุ่มที่น่าพอใจได้เพียง 32 สีเท่านั้น ความคิดใด ๆ จะดีมาก
301 algorithm  colors 

30
เขียนโปรแกรมเพื่อค้นหาตัวเลขที่ใหญ่ที่สุด 100 รายการจากอาเรย์ 1 พันล้านหมายเลข
เมื่อเร็ว ๆ นี้ฉันได้เข้าร่วมสัมภาษณ์ที่ฉันถูกถามว่า "เขียนโปรแกรมเพื่อค้นหาตัวเลขที่ใหญ่ที่สุด 100 รายการจากจำนวน 1 พันล้านรายการ" ฉันสามารถให้วิธีแก้ปัญหากำลังดุร้ายซึ่งเป็นการเรียงลำดับอาร์เรย์ในความซับซ้อนของเวลา O (nlogn) และรับ 100 หมายเลขล่าสุด Arrays.sort(array); ผู้สัมภาษณ์กำลังมองหาช่วงเวลาที่ดีกว่านี้ฉันลองใช้วิธีแก้ปัญหาอื่น ๆ สองสามอย่าง แต่ไม่สามารถตอบเขาได้ มีวิธีแก้ปัญหาความซับซ้อนของเวลาที่ดีกว่านี้หรือไม่?
300 algorithm  sorting 

7
อัลกอริทึมในการระบายสีรายการเพลงใน iTunes 11 ทำงานอย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ iTunes 11 ใหม่มีมุมมองที่ดีมากสำหรับรายการเพลงของอัลบั้มเลือกสีสำหรับแบบอักษรและพื้นหลังในฟังก์ชั่นปกอัลบั้ม ทุกคนคิดว่าอัลกอริทึมทำงานอย่างไร



10
การเขียนโปรแกรมแบบไดนามิกคืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน10 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ การเขียนโปรแกรมแบบไดนามิกคืออะไร? มันแตกต่างจากการเรียกซ้ำบันทึก ฯลฯ อย่างไร ฉันได้อ่านบทความวิกิพีเดียแล้ว แต่ฉันยังไม่เข้าใจจริงๆ

12
ทำไมเราถึงใช้ Base64
Wikipediaพูดว่า รูปแบบการเข้ารหัส Base64 มักใช้เมื่อไม่จำเป็นต้องเข้ารหัสข้อมูลไบนารีที่ต้องจัดเก็บและถ่ายโอนผ่านสื่อที่ออกแบบมาเพื่อจัดการกับข้อมูลที่เป็นข้อความ นี่คือเพื่อให้แน่ใจว่าข้อมูลยังคงไม่เปลี่ยนแปลงโดยระหว่างการขนส่ง แต่ไม่ใช่ว่าข้อมูลจะถูกจัดเก็บ / ส่งเป็นไบนารี่เสมอเพราะหน่วยความจำที่เครื่องของเรามีไบนารี่สโตร์และมันก็ขึ้นอยู่กับว่าคุณตีความมันอย่างไร ดังนั้นไม่ว่าคุณจะเข้ารหัสรูปแบบบิต010011010110000101101110เช่นเดียวกับManใน ASCII หรือTWFuใน Base64 ในที่สุดคุณก็จะเก็บรูปแบบบิตเดียวกัน หากการเข้ารหัสขั้นสุดท้ายอยู่ในรูปของเลขศูนย์และทุกเครื่องและสื่อสามารถจัดการกับมันได้จะเป็นอย่างไรถ้าข้อมูลถูกแสดงเป็น ASCII หรือ Base64 "สื่อที่ออกแบบมาเพื่อจัดการกับข้อมูลที่เป็นข้อความ" หมายความว่าอย่างไร พวกเขาสามารถจัดการกับ binary => พวกเขาสามารถจัดการกับอะไรก็ได้ ขอบคุณทุกคนฉันคิดว่าฉันเข้าใจแล้ว เมื่อเราส่งข้อมูลเราไม่สามารถมั่นใจได้ว่าข้อมูลจะถูกตีความในรูปแบบเดียวกับที่เราตั้งใจให้เป็น ดังนั้นเราจึงส่งข้อมูลที่เข้ารหัสในบางรูปแบบ (เช่น Base64) ที่ทั้งสองฝ่ายเข้าใจ ด้วยวิธีนี้แม้ว่าผู้ส่งและผู้รับจะตีความสิ่งเดียวกันต่างกัน แต่เนื่องจากพวกเขาเห็นด้วยกับรูปแบบการเข้ารหัสข้อมูลจะไม่ถูกตีความผิด จากตัวอย่าง Mark Byers ถ้าฉันต้องการส่ง Hello world! วิธีหนึ่งคือการส่งใน ASCII เช่น 72 101 108 108 111 10 119 111 114 108 …

7
อัลกอริทึมใดที่สามารถใช้สำหรับการบรรจุสี่เหลี่ยมที่มีขนาดแตกต่างกันในสี่เหลี่ยมเล็กที่สุดที่เป็นไปได้ในวิธีที่เหมาะสมที่สุด?
Наэтотвопросестьответына กองมากเกินнарусском : Необходимовычислить, какоемаксимальноеколичествофигурвместитсянапрямоугольнике Чемможнореализовать? ฉันมีวัตถุรูปสี่เหลี่ยมผืนผ้าจำนวนหนึ่งซึ่งฉันต้องบรรจุลงในพื้นที่ที่เล็กที่สุดเท่าที่จะเป็นไปได้ (ขนาดของพื้นที่นี้ควรจะเป็นกำลังสอง) ฉันตระหนักถึงอัลกอริธึมการบรรจุที่หลากหลายที่จะแพ็คไอเท็มให้มากที่สุดเท่าที่จะเป็นไปได้ในพื้นที่ที่กำหนดอย่างไรก็ตามในกรณีนี้ฉันต้องการอัลกอริทึมในการคำนวณว่าพื้นที่นั้นควรมีขนาดใหญ่เพียงใด เช่นว่า Ive ได้สี่เหลี่ยมดังต่อไปนี้ 128 * 32 128 * 64 64 * 32 64 * 32 สามารถบรรจุลงในพื้นที่ 128 * 128 _________________ | 128 * 32 | | ________________ | | 128 * 64 | | | | | | ________________ | | …
273 algorithm  packing 

10
การเป็นตัวแทนและการแก้เขาวงกตให้ภาพ
วิธีที่ดีที่สุดในการเป็นตัวแทนและแก้ไขเขาวงกตที่ได้รับภาพคืออะไร? เมื่อพิจารณาจากรูปภาพ JPEG (ดังที่แสดงไว้ด้านบน) วิธีที่ดีที่สุดในการอ่านข้อมูลคือแยกวิเคราะห์ข้อมูลลงในโครงสร้างข้อมูลบางส่วนและแก้ปัญหาเขาวงกต สัญชาตญาณแรกของฉันคือการอ่านภาพทีละพิกเซลและเก็บไว้ในรายการ (อาร์เรย์) ของค่าบูลีน: TrueสำหรับพิกเซลสีขาวและพิกเซลFalseที่ไม่ใช่สีขาว (สีสามารถละทิ้ง) ปัญหาด้วยวิธีนี้คือภาพอาจจะไม่ "สมบูรณ์แบบพิกเซล" โดยที่ฉันเพียงแค่หมายความว่าหากมีพิกเซลสีขาวบางแห่งบนผนังก็อาจสร้างเส้นทางที่ไม่ได้ตั้งใจ อีกวิธีหนึ่ง (ซึ่งมาหาฉันหลังจากคิดไปเล็กน้อย) ก็คือการแปลงภาพเป็นไฟล์ SVG ซึ่งเป็นรายการของเส้นทางที่วาดบนผืนผ้าใบ ด้วยวิธีนี้เส้นทางสามารถอ่านได้ในรายการประเภทเดียวกัน (ค่าบูลีน) ซึ่งTrueระบุเส้นทางหรือกำแพงเพื่อFalseระบุพื้นที่ที่สามารถเดินทางได้ ปัญหาด้วยวิธีนี้เกิดขึ้นหากการแปลงไม่ถูกต้อง 100% และไม่เชื่อมต่อกำแพงทั้งหมดอย่างเต็มที่ทำให้เกิดช่องว่าง นอกจากนี้ปัญหาเกี่ยวกับการแปลงเป็น SVG ก็คือเส้นไม่ตรง "สมบูรณ์แบบ" ซึ่งส่งผลในเส้นทางเป็นลูกบาศก์ bezier โค้ง ด้วยรายการ (อาร์เรย์) ของค่าบูลีนที่จัดทำดัชนีโดยจำนวนเต็มเส้นโค้งจะไม่ถ่ายโอนได้อย่างง่ายดายและทุกจุดที่เส้นบนเส้นโค้งจะต้องถูกคำนวณ แต่จะไม่ตรงกับดัชนีรายการทั้งหมด ฉันคิดว่าในขณะที่หนึ่งในวิธีการเหล่านี้อาจใช้งานได้ (แม้ว่าอาจจะไม่ใช่) ว่าพวกเขาไม่มีประสิทธิภาพมากนักเนื่องจากภาพขนาดใหญ่ดังกล่าวและมีวิธีที่ดีกว่า วิธีนี้ดีที่สุด (มีประสิทธิภาพมากที่สุดและ / หรือมีความซับซ้อนน้อยที่สุด) ทำอย่างไร มีวิธีที่ดีที่สุดหรือไม่? จากนั้นการแก้ปัญหาของเขาวงกตมา ถ้าฉันใช้วิธีใดวิธีหนึ่งจากสองวิธีแรกฉันจะต้องใช้เมทริกซ์เป็นหลัก ตามคำตอบนี้เป็นวิธีที่ดีที่จะเป็นตัวแทนเขาวงกตใช้ต้นไม้และเป็นวิธีที่ดีที่จะแก้ปัญหาได้คือการใช้A * อัลกอริทึม เราจะสร้างต้นไม้จากภาพได้อย่างไร …


10
เพดานอย่างรวดเร็วของการหารจำนวนเต็มใน C / C ++
รับค่าจำนวนเต็มxและyC และ C ++ กลับทั้งสองเป็นผลหารหารq = x/yด้วยจำนวนจุดลอยตัว ฉันสนใจวิธีการคืนเพดานแทน ยกตัวอย่างเช่นและceil(10/5)=2ceil(11/5)=3 วิธีการที่ชัดเจนเกี่ยวข้องกับสิ่งที่ชอบ: q = x / y; if (q * y < x) ++q; สิ่งนี้ต้องการการเปรียบเทียบและการคูณที่พิเศษ และวิธีการอื่น ๆ ที่ผมเคยเห็น (ใช้ในความเป็นจริง) เกี่ยวข้องกับการหล่อเป็นหรือfloat doubleมีวิธีที่ตรงกว่าที่จะหลีกเลี่ยงการเพิ่มการคูณ (หรือการหารที่สอง) และสาขาและหลีกเลี่ยงการร่ายเป็นเลขทศนิยมหรือไม่?
262 c++  c  algorithm  math 

6
ความลึกและความสูงของต้นไม้แตกต่างกันอย่างไร
นี่เป็นคำถามง่าย ๆ จากทฤษฎีอัลกอริทึม ความแตกต่างระหว่างสิ่งเหล่านี้คือในกรณีหนึ่งคุณจะนับจำนวนโหนดและจำนวนขอบอื่น ๆ บนเส้นทางที่สั้นที่สุดระหว่างรูทและโหนดคอนกรีต อันไหน

25
วิธีการตรวจสอบว่าจุดอยู่ในรูปสามเหลี่ยม 2D? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดเมื่อเดือนที่แล้ว ปรับปรุงคำถามนี้ มีวิธีง่าย ๆ ในการตรวจสอบว่าจุดที่อยู่ภายในรูปสามเหลี่ยม? มันเป็น 2D ไม่ใช่ 3D
258 algorithm  math  geometry 

17
วิธีที่มีประสิทธิภาพมากที่สุดในการใช้ฟังก์ชั่นพลังงานแบบอิงจำนวนเต็ม pow (int, int)
อะไรคือวิธีที่มีประสิทธิภาพที่สุดในการเพิ่มจำนวนเต็มเป็นกำลังของจำนวนเต็มอื่นใน C? // 2^3 pow(2,3) == 8 // 5^5 pow(5,5) == 3125

20
กำหนดสีตัวอักษรตามสีพื้นหลัง
ให้ระบบ (เว็บไซต์เป็นต้น) ที่ช่วยให้ผู้ใช้ปรับแต่งสีพื้นหลังสำหรับบางส่วน แต่ไม่ใช่สีตัวอักษร (เพื่อให้จำนวนของตัวเลือกให้น้อยที่สุด) มีวิธีการทางโปรแกรมตรวจสอบว่า "แสง" หรือ " จำเป็นต้องใช้สีแบบอักษรเข้มหรือไม่ ฉันแน่ใจว่ามีอัลกอริธึม แต่ฉันไม่รู้เกี่ยวกับสีความส่องสว่างและอื่น ๆ มากพอที่จะเข้าใจได้ด้วยตัวเอง

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