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