ท้าทาย
รับอาร์เรย์ของจำนวนเต็มที่ได้รับจาก stdin ฟังก์ชันอาร์กิวเมนต์อาร์กิวเมนต์โปรแกรมหรือวิธีอื่น:
เอาต์พุตเฉพาะจำนวนต่ำสุดและสูงสุดในอาเรย์ผ่านค่าส่งคืน stdout หรือวิธีการปรับแต่งอื่น ๆ
ตัวอย่างเซสชัน
> minmax( {0, 15, 2, 3, 7, 18, -2, 9, 6, -5, 3, 8, 9, -14} )
-14 18
การดำเนินการอ้างอิง
// C++14
void minmax(std::vector<int> v) {
int min = v[0]; int max = v[0];
for(auto it : v) {
if (*it < min)
min = *it;
if (*it > max)
max = *it;
}
std::cout << min << ' ' << max << std::endl;
}
กฎระเบียบ
- คุณไม่สามารถใช้ฟังก์ชันในตัวเพื่อคำนวณค่าได้
- ช่องโหว่มาตรฐานไม่อนุญาต
- สนับสนุนการประยุกต์ใช้ความคิดสร้างสรรค์
- นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ แต่จะไม่ถูกเลือก
ชี้แจง
- หากอาร์เรย์มี 1 องค์ประกอบคุณจะต้องออกมันสองครั้ง
- หากค่าต่ำสุดและค่าสูงสุดเหมือนกันคุณต้องส่งออกทั้งสองค่า
code golf